gpt4 book ai didi

没有默认 ctor 的 C++ 私有(private)变量 - 不编译?

转载 作者:搜寻专家 更新时间:2023-10-31 01:55:40 25 4
gpt4 key购买 nike

我有一个没有默认构造函数的类 obj1 和一个也没有默认构造函数的类 obj2,并且有一个 obj1 的元素作为私有(private)变量:

我想要类似下面的代码——但实际上它无法编译,告诉我 obj1 没有默认构造函数。

class obj1{
obj1(some parameters){};
}

class obj2{
obj1 _myObj1;
obj2(some parameters){
_myObj1 = obj1(some parameters)
}
}

有什么想法吗?

最佳答案

你需要公开你的构造函数,你需要调用obj2构造函数初始化列表中的obj1。

class obj1{
public:
obj1(some parameters){};
}

class obj2{
obj1 _myObj1;
public:
obj2(some parameters) : _myObj1(some parameters)
{
}
}

关于没有默认 ctor 的 C++ 私有(private)变量 - 不编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8201402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com