您的位置:首页 > 编程语言 > C语言/C++

C++ 函数声明后面的const用法

2017-10-29 21:39 369 查看
转载 http://www.cnblogs.com/xing901022/p/3413019.html

void function() const{}

通常我们会看到一些函数声明后面会跟着一个const,这个const是做什么的呢?

看一下下面的例子,就知道了。直接在编译前,就会提示下面的两个错误

#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的成员函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: