class AP_Vehicle {
public:
/*
common parameters for fixed wing aircraft
*/
struct FixedWing {
AP_Int8 throttle_min;
AP_Int8 throttle_max;
AP_Int8 throttle_slewrate;
AP_Int8 throttle_cruise;
AP_Int16 airspeed_min;
AP_Int16 airspeed_max;
AP_Int16 pitch_limit_max_cd;
AP_Int16 pitch_limit_min_cd;
AP_Int8 autotune_level;
AP_Int16 land_pitch_cd;
};
/*
common parameters for multicopters
*/
struct MultiCopter {
AP_Int16 angle_max;
};
};
一個類中內嵌兩個結構體,
static AP_Vehicle::MultiCopter aparm; //這個靜態函數用來定義
這裡的定義意思應該是aparm函數繼承了MultiCopter的屬性。
這樣理解對嗎?
繼承是類和類之間才有的關系,寫法上是
```class/struct MyClassName:public/protected/private BaseClassName
{
//類定義
}
這種形式。意思是MyClassName繼承自BaseClassName。你寫的那句話的意思是**定義一個MultiCopter類的對象**,名字是aparm。由於MultiCopter類是嵌套類,因此要在前面加上外層類的類名和"::"作用域選擇符。