Naa*_*ama 1 c++ arrays initialization class list
我有这门课:
class Taxi {
Wheel myWheel[4];
public:
Taxi();
};
Run Code Online (Sandbox Code Playgroud)
和Wheel是另一类包含:
class Wheel{
int radius,
tickness;
public:
Wheel(int,int);
};
Run Code Online (Sandbox Code Playgroud)
现在,我想要做的是在Taxi构造函数的初始化列表中初始化"myWheel [4]",如下所示:
Taxi::Taxi () :Wheel[0](5,5), Wheel[1](3,3), Wheel[2](5,5), Wheel[3](3,3) {
cout << "Ctor of Taxi" << endl;
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我真的需要一些帮助,谢谢:)
您的初始化列表应该是这样的
Taxi::Taxi () : myWheel { Wheel(5,5), Wheel(3,3), Wheel(5,5), Wheel(3,3)} {
cout << "Ctor of Taxi" << endl;
}
Run Code Online (Sandbox Code Playgroud)
观看现场演示
如果您没有符合当前c ++标准(c ++ 11)的编译器,则无法在成员初始化列表中执行此操作.您必须初始化构造函数体内的数组元素:
Taxi::Taxi () {
cout << "Ctor of Taxi" << endl;
myWheel[0] = Wheel(5,5);
myWheel[1] = Wheel(3,3);
myWheel[2] = Wheel(5,5);
myWheel[3] = Wheel(3,3);
}
Run Code Online (Sandbox Code Playgroud)
还要注意你应该做Wheel一个很好的课程.