class root
{
string name;
public:
root();
root(string Name)
{
Name=name;
}
~root();
void setName(string Name)
{
name=Name;
}
string getName()
{
return name;
}
};
int main()
{
string name("name");
root Root(name);
Root.setName("name");
cout<<Root.getName();
}
那我的程序就顺利运行了,但是为什么我的程序运行不起来
root Root; //this had to be legal, right?
而且,我为什么要有
root Root(name); //declaring?
再一次
root setName(name);
它是否必须与:
root Root; //??
最佳答案
- 添加到您的
root()
构造函数主体{}
- 修复您的
root( string Name )
构造函数。应该是:
.
root(string Name)
{
name=Name; // <--- notice reversed order.
}
如果我可以建议,您可以改用 const
和 &
引用:
root( const string& Name )
{
name=Name;
}
关于c++ - 这可能会出什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23002120/