坚持到底就是胜利

用心去做好这件事情

统计

留言簿(1)

阅读排行榜

评论排行榜

const类对象

在写程序时,就遇到了这种情况,“只能对const对象调用const 成员函数”
class nocopy{
public:
 nocopy(
int value):_value(value){}
 
int get_value() const {return _value;}
private:
 
int _value;
}
;

void fun(const nocopy &rhs)
{
 rhs.get_value();
}

如果把const去掉,就出现错误,再说明另外一点,为什么使用引用?是因为这样做,不会再调用copy operator,效率高。。。

posted on 2006-06-29 22:19 ailab 阅读(1542) 评论(4)  编辑 收藏 引用 所属分类: EssentialC++

评论

# re: const类对象 2006-06-29 22:38 beyonlin

你应该理解有误吧。
const成员函数只是不能修改类的数据成员。
非const类是可以调用const成员函数的。  回复  更多评论   

# re: const类对象 2006-06-29 22:43 ailab

我似乎没有说:“非const类是可以调用const成员函数的”
^_^  回复  更多评论   

# re: const类对象 2008-09-21 18:03 insulted

对,但是“const类实例是不能调用该类的非const成员函数的”!  回复  更多评论   

# re: const类对象 2009-02-22 17:01 kingp432

把int get_value() const 中的const去掉就会出现错误!
  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理