重点是初始化一个指向神秘对象的指针,其值为"beep",有什么想法吗?
class Mystic {
private:
string label;
Mystic(string & newlbl) { setLabel (newlbl)};
public:
void setLabel(string newlbl){label = newlbl;}
Mystic() : label(){};
};
int main(int argc, char *argv[])
{
... //i tried this
//string *p1 = new string("beep");
//Mystic myst(p1);
} 发布于 2017-01-26 19:13:21
接受字符串的构造函数不是公共的,所以不能使用它。相反,使用默认构造函数,然后使用setLabel方法。
int main(int argc, char** argv) {
Mystic m;
m.setLabel("beep");
Mystic* p = &m;
}发布于 2017-01-26 19:18:12
构造函数--您尝试使用它是私有的,并且只能访问公共的构造函数,所以必须使该构造函数公开,或者如果您想使用公共默认构造函数并初始化默认值Mystic() : label("default"){}。
https://stackoverflow.com/questions/41881042
复制相似问题