没有默认ctor的C私有变量-无法编译?

我有一个没有默认构造函数的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) {
    }
};
上一篇:一个Java文件,但两个类


下一篇:java – 数字文字的自动装箱:包装器初始化与传递方法参数不一致