社区
C语言
帖子详情
关于const 成员函数
acreep
2003-10-20 02:29:26
初学C++
下面的代码:
const Stock land = Stock("Kdjfi Aksdo");
land.show();
编译器将拒绝第2行
因为show()得代码无法确保调用对象不被修改,
我不太明白,谁能给我讲讲
...全文
37
5
打赏
收藏
关于const 成员函数
初学C++ 下面的代码: const Stock land = Stock("Kdjfi Aksdo"); land.show(); 编译器将拒绝第2行 因为show()得代码无法确保调用对象不被修改, 我不太明白,谁能给我讲讲
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
acreep
2003-10-20
打赏
举报
回复
我明白了 就是说
const Stock land = Stock("Kdjfi Aksdo");表明land是Stock类的常量对象类型
但是
成员函数show()可能会对其改动
所以为了 避免 可能的错误
声明void show() const;
此时show()函数 就不能改变它得成员了
谢谢
daizh
2003-10-20
打赏
举报
回复
void show();
const Stock:: show();
这样的声明和定义当然不对,显然它们的类型不一致。如果你要实现上述功能,show函数的声明就是void show() const;
acreep
2003-10-20
打赏
举报
回复
书上说应该是这样写
void show() const;
acreep
2003-10-20
打赏
举报
回复
我还是不太明白
我的声明和函数的头文件这样写:
void show();
const Stock:: show();
会有什么隐患吗?
daizh
2003-10-20
打赏
举报
回复
const Stock land = Stock("Kdjfi Aksdo");表明land是Stock类的常量对象类型,它只能使用该类中的const成员,而不能使用其他成员,确保调用对象不被修改。
《c语言深度解析》第3、4章 存储类、生命周期、作用域、链接域,指针与函数
课程内容: 第3章: 存储类与auto、static、register关键字 指令、常量、变量的生命周期 ...void *指针类型
const
与指针 函数指针 函数调用—栈的使用过程 回调函数和函数指针数组 指针与函数传参 递归函数 内联函数
C++
const
对象与非
const
对象的相互调用、
const
成员函数
与非
const
成员函数
的相互调用
1)
const
对象可以调用非
const
成员函数
吗? 答:不能。
const
修饰的对象实则修饰的是该对象的this指针,并且
const
修饰的成员不能进行修改,如果使用
const
调用非
const
成员函数
,可能会将
const
对象进行修改。 2)非
const
对象可以调用
const
成员函数
吗? 答:可以,这里就是将一个可以修改的对象进行读取,是允许的。 3)
const
成员函数
内可以调用其它的非
const
成员函数
吗? 答:不允许,
const
成员函数
调用非
const
成员函数
,调用该
const
成员函数
的
C++中
const
和非
const
对象分别调用
const
和非
const
成员函数
一、先来提出问题
const
对象可以调用非
const
成员函数
吗? 非
const
对象可以调用
const
成员函数
吗?
const
成员函数
内可以调用其它的非
const
成员函数
吗? 非
const
成员函数
内可以调用其他的
const
成员函数
吗? 二、实践出真知 实践发现: 1、
const
对象可以调用
const
成员函数
2、
const
对象不能调用非
const
成员函数
3、非
const
对象可以调用
const
成员函数
4、非
const
对象可以调用非
const
成员函数
5、
const
成员函数
不能调用非
const
成员函数
C++类中
const
成员函数
与非
const
成员函数
的调用规则
const
修饰类的
成员函数
将
const
修饰的类
成员函数
称之为
const
成员函数
,
const
修饰类
成员函数
,实际修饰该
成员函数
隐含的this指针,表明在
成员函数
中不能对类的任何成员进行修改。 1.
const
对象可以调用非
const
成员函数
吗? 2.非
const
对象可以调用
const
成员函数
吗? 3.
const
成员函数
内可以调用其它的非
const
成员函数
吗? 4.非
const
成员函数
内可以调用其它的
const
成员函数
吗? 总结 调用的依据其实是传隐含的this指针的过程; 在使用
const
的时
C++:
const
成员函数
的使用细则
const
修饰类的
成员函数
将
const
修饰的类
成员函数
称之为
const
成员函数
,
const
修饰类
成员函数
,实际修饰该
成员函数
隐含的this 指针,表明在该
成员函数
中不能对类的任何成员进行修改。 请思考下面的几个问题:
const
对象可以调用非
const
成员函数
吗? 非
const
对象可以调用
const
成员函数
吗?
const
成员函数
内可以调用其它的非
const
成员函数
吗? 非
const
成员函数
...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章