C++中(const)常数据成员初始化

时间:2022-09-10 09:27:40

在类中使用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;
}