函数声明后面的const用法
2016-02-27 09:19
309 查看
void function() const{}
通常我们会看到一些函数声明后面会跟着一个const,这个const是做什么的呢?看一下下面的例子,就知道了。直接在编译前,就会提示下面的两个错误
// test1107.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; class aa{ int num; public: aa(){ int b =10; num = b; }; void out1(){ cout<<num<<endl; } void out2() const{ cout<<num<<endl; } void out3() const{ num+=10; //出错,const函数不能修改其数据成员 cout<<num<<endl; } }; int _tmain(int argc, _TCHAR* argv[]) { aa a1; a1.out1(); a1.out2(); a1.out3(); const aa a2; a2.out1(); // 错误,const的成员 不能访问非const的函数 a2.out2(); a2.out3(); return 0; }
在类成员函数的声明和定义中,
const的函数不能对其数据成员进行修改操作。
const的对象,不能引用非const的成员函数。
相关文章推荐
- C++开发人脸性别识别教程(15)——搭建MFC框架启动摄像头
- 【Web API系列教程】3.7 — 实战:处理数据(创建UI视图)
- BT下载原理(BitTorrent)
- iOS中定位当前位置坐标及转换为火星坐标的方法
- 民族数据库表SQL语句
- Backbone和Angular的比较
- iOS常见内存泄漏以及解决方法
- 打开vs的时候,发现编辑页面里面的空白空格都变成一个一个的小绿点
- 利用 NSSortDescriptor 对 NSMutableArray 排序
- 输出菱形
- (GOF23设计模式)_组合模式
- 微博推荐静态数据存储方案: lushan
- 在ShowModalDialog查询,实现查询结果不弹出新窗口
- 欢迎使用CSDN-markdown编辑器
- xxx.hbm.hibernate 配置
- MapWinGIS编程(一)
- 从RunningAppProcessInfo得到ApplicationInfo
- 初学spring mvc的几点心得
- An error occurred when merging assemblies: ILMerge.Merge: ERROR!!: Duplicate type 'index' found in a
- 无法加载指定的元数据资源