假设我有一个类Member
,它既没有默认构造函数,也没有副本构造函数,它是由第三方API和函数一起创建的。
我有声明
Member CreateMember(string str);
class MyClass {
Member my_member;
public:
MyClass(){
my_member = CreateMember("I am a parameter");
}
}
由于类Member
没有默认构造函数,因此上述声明无效,因为无法初始化成员。
我也不能将其声明为指针,因为缺少复制构造函数意味着我无法调用new Member(my_member)
。
我在这里不知所措,有什么建议吗?
答案 0 :(得分:1)
Member CreateMember(string str);
class MyClass {
Member my_member;
public:
MyClass()
: my_member(CreateMember("I am a parameter"))
{
}
};