当成员变量也是一个类对象时,如何初始化?
class b{
public:
b (int i) {m_i=i;}; // class b只有一个带参数的构造函数
private:
int m_i;
};
class a{
public:
a ()
:m_b(1) // 因为b没有默认构造函数,所以必须在初始化表中初始化
{
};
b m_b;
};
可以在初始化表中初始化
对于普通变量,c++11之后可以直接在声明成员变量时初始化,
class A{
public:
int x=1;
string s="qweqetfqw";
vector<int>p { 0};
};