【发布时间】:2014-04-11 01:49:09
【问题描述】:
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)声明为explicit。