关于const

1982xcc 2003-08-24 09:12:48
const eleType&operator(){int row,int column)
与eleType&operator(){int row,int column)const
连同 const eleType&operator(){int row,int column)const

究竟这些位置的const都有什么含义,请赐教
...全文
47 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sevecol 2003-08-24
  • 打赏
  • 举报
回复
const成员函数不能修改调用对象的
而不是调用时的参数

两个的语义是不一样的。

比如说
class A
{
int m_data;
public:
void print(int data) const
{
}
}

A a;
int data;
a.print(data);

这里a是调用函数的对象的实例。
1982xcc 2003-08-24
  • 打赏
  • 举报
回复
对于第二个eleType&operator(int row,int column)const函数内不能修改调用的对象
那是否可以写成eleType&operator(){const int row,const int column)
sevecol 2003-08-24
  • 打赏
  • 举报
回复
第一个表示函数的返回值是一个const eleType&
第二个表示这个成员函数是个const,意味着函数内不能修改调用函数的对象
第三个是前面两个的结合.既函数返回的是const eleType&,并且是对象的const成员函数
晨星 2003-08-24
  • 打赏
  • 举报
回复
前面的表示返回常引用,后面的表示该函数(重载运算符也是函数)不修改类的成员变量,即该函数的执行不会导致类的状态的改变。
怎么不好好看看书呢?:)

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧