在類中使用const關鍵字可以修飾數據成員和成員函數或對象,分別稱爲數據成員、常成員函數和常對象。
1常量成員
常量成員包括常數據成員、靜態常數成員和常引用。常數據成員和常引用的初始化只能通過構造函數的成員初始化列表顯示進行,而靜態常數據成員仍保留靜態成員的特徵,在類外初始化。
例子:常數據成員初始化
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class Myclass
{
private:
int x; //申明一個成員數據
const int a; //申明一個常成員數據
static const int b; //申明一個靜態的常成員數據
const int &r; //聲明一個常引用
public:
Myclass(int,int);
void Print()
{
cout<<x<<",\t"<<a<<",\t"<<b<<"\t"<<r<<endl;
}
void Display(const double &r){
cout<<r<<endl;
}
};
const int Myclass::b = 15; //靜態數據成員必須在類外初始化
Myclass::Myclass(int i,int j):x(i),a(j),r(x){} //成員列表初始化
int main(int argc, char** argv) {
Myclass m1(10,20),m2(30,40);
m1.Print();
m2.Print();
m2.Display(3.1415926);
return 0;
}