我有一个没有默认构造函数的obj1类,也没有一个默认构造函数的obj2类,并且有一个obj1元素作为私有变量:
我想要类似以下代码的内容-但实际上这不能编译,告诉我obj1没有默认构造函数.
class obj1{
obj1(some parameters){};
}
class obj2{
obj1 _myObj1;
obj2(some parameters){
_myObj1 = obj1(some parameters)
}
}
有任何想法吗?
解决方法:
公开obj1的构造函数,并在obj2中使用初始化列表.
class obj1{
public:
obj1(some parameters){};
};
class obj2{
obj1 _myObj1;
obj2(some parameters) : _myObj1(some parameters) {
}
};