问个类作成员变量时初始化问题
class A{
public:
A();
A(int i){num=i;}
private:
int num;
};
class B
{
public:
B(int j){如何对成员a初始化????};
private:
A a;
};
问题:我想在B中对A进行初始化,但我不可能在类B的定义中使用:A a(j)这样的方法,又想在构造B时就初始化A,那么只能在B构造函数里初始化A啦。
这个要怎么写?
有个方法是在A中定义一个init(int i)在B的构造中初始化。但这样看起来不是一个好方法,还有别的方法吗?
如果没有,那么这是不是C++的一个不好的地方?
请牛人回答我的以上三个问题,谢谢!