函數聲明時,名后面的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的成員函數。


出處





注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com