读书人

关于声明和定义引发的有关问题

发布时间: 2013-03-19 17:22:05 作者: rapoo

关于声明和定义引发的问题
class CHuman
{
public:
CHuman();
~CHuman();
int get();

private:
int i;
};

CHuman::CHuman()
{
cout<<"构造函数正在运行..."<<endl;
i=99;
}

CHuman::~CHuman()
{
cout<<"析构函数正在运行..."<<endl;
}

int CHuman::get()const
{
return i;
}
红色的部分提示错误,而我按照以下这种写法就可以,
class CHuman
{
public:
CHuman();
~CHuman();
int get()const{return i;};
private:
int i;
};

CHuman::CHuman()
{
cout<<"构造函数正在运行..."<<endl;
i=99;
}

CHuman::~CHuman()
{
cout<<"析构函数正在运行..."<<endl;
}
其实我感觉这两种写法都可以,效果是等价的应该,为什麽第一种写法会错呢?
[解决办法]
声明的时候也要加上const
class CHuman {
...
int get() const;
...
};

读书人网 >C++

热点推荐