2 congrashino Congrashino 于 2014.12.10 22:43 提问

一个类中内嵌两个结构体

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的属性。
这样理解对吗?

3个回答

wylblq
wylblq   2014.12.11 08:57
已采纳

继承是类和类之间才有的关系,写法上是

```class/struct MyClassName:public/protected/private BaseClassName
{
//类定义
}

这种形式。意思是MyClassName继承自BaseClassName。你写的那句话的意思是**定义一个MultiCopter类的对象**,名字是aparm。由于MultiCopter类是嵌套类,因此要在前面加上外层类的类名和"::"作用域选择符。
Congrashino
Congrashino 非常感谢
大约 3 年之前 回复
91program
91program   Ds   Rxr 2014.12.11 07:42

aparm 定义是一个变量,不是函数哦。
aparm 是 AP_Vehicle::MultiCopter 类型的一个变量。

qq_34281990
qq_34281990 不懂不要瞎BB
9 个月之前 回复
Congrashino
Congrashino 非常感谢
大约 3 年之前 回复
kingstar158
kingstar158   2014.12.11 16:25

static AP_Vehicle::MultiCopter aparm;

只是定义了一个MultiCopter 的对象,_

Congrashino
Congrashino 非常感谢
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!