假设我有一个类 A 和一个类 B。B 用作 A 中的成员。B 没有默认构造函数,但需要参数。
class B {
B(int i) {}
};
class A {
B m_B;
A()
{
m_B(17); //this gives an error
}
};
我怎样才能继续使用B作为A的成员?
使用初始化列表。
class B {
public:
B(int i) {}
};
class A {
B m_B;
public:
A() : m_B(17) {}
};
顺便说一句,重置m_B
在构造函数之外的某个地方,正确的语法是:
m_B = B(17);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)