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类是嵌套类,因此要在前面加上外层类的类名和"::"作用域选择符。
aparm 定义是一个变量,不是函数哦。
aparm 是 AP_Vehicle::MultiCopter 类型的一个变量。
只是定义了一个MultiCopter 的对象,_