类组合涉及初始化问题
Posted ansn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类组合涉及初始化问题相关的知识,希望对你有一定的参考价值。
下面代码中,类B里组合了类A,运行时会报错,
class A { public: A(int _a) { a = _a; cout << "构造函数" << "a" << a << endl; } ~A() { cout << "析构函数" << "a" << a << endl; } protected: private: int a; }; class B { public: protected: private: int b1; int b2; A a2; A a1; }; void obj10play() { A a1(10); B ojbB; return ; } void main() { obj10play(); system("pause"); }
出错根源在于给类B分配内存时,因其含有类A作为成员变量一部分,
以上是关于类组合涉及初始化问题的主要内容,如果未能解决你的问题,请参考以下文章