采取如下所示的方案:
Class A : public B
{
private:
C obj
public:
A()
}
Class B
{
B(int , int)
}
Class C
{
C();
C( int , int)
}
在初始化A类对象时,有没有办法可以调用非默认构造函数?
我知道要初始化B,我可以做类似的事情:
A():B(int, int) //but what if I want to initalise C also?
答案 0 :(得分:4)
基类和数据成员都可以出现在初始化列表中:
A() : B(42, 42), obj(42, 42) { }
答案 1 :(得分:1)
A() : B(int, int), obj(int, int) {}
答案 2 :(得分:1)
你喜欢这样:
A(): B(int, int), obj(int, int)