| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 518 人关注过本帖
标题:小弟新手请教一个问题
只看楼主 加入收藏
dive137
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-23
收藏
 问题点数:0 回复次数:2 
小弟新手请教一个问题

希望达人赐教一下
class Cat
{
public:
Cat();
Cat(const Cat&);
~Cat();
int const GetAge()
{
return *itsAge;
}

int const GetWeight()
{
return *itsWeight;
}

void SetAge(int age)
{
*itsAge=age;
}

private:
int *itsAge;
int *itsWeight;
};

Cat::Cat()
{
itsAge=new int;
itsWeight=new int;
*itsAge=5;
*itsWeight=3;
}

Cat::Cat(const Cat & rhs)
{
itsAge=new int;
itsWeight=new int;
*itsAge=rhs.GetAge();
*itsWeight=*(rhs.itsWeight);
}


Cat::~Cat()
{
delete itsAge;
itsAge=0;
delete itsWeight;
itsWeight=0;
}

void main()
{
Cat cat;
cout<<cat.GetAge()<<endl;
cat.SetAge(89);
cout<<cat.GetAge()<<endl;
// cat boot(cat);
// cout<<boot.GetAge()<<endl;
cat.SetAge(98);
// cout<<cat.GetAge()<<endl;
// cout<<boot.GetAge()<<endl;
}
vc++6.0编译
:\Program Files\Microsoft Visual Studio\MyProjects\textOverLoad\overLoad.cpp(85) : error C2662: 'GetAge' : cannot convert 'this' pointer from 'const class Cat' to 'class Cat &'
Conversion loses qualifiers

[此贴子已经被作者于2007-7-22 22:31:43编辑过]

搜索更多相关主题的帖子: private public return 
2007-07-22 22:31
exqus
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-7-16
收藏
得分:0 

在你的类中对GetAge()声明处改为
int const GetAge() const
注意:在C++中在const对象和引用只能调用const函数




2007-07-23 09:47
dive137
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-23
收藏
得分:0 
谢谢了
现在明白了 是没有搞清楚const的含意
2007-07-23 21:55
快速回复:小弟新手请教一个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022529 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved