coonst修饰的成员变量,必须进行初始化,且不能更新。类中声明const成员变量,
只能通过初始化列表的方式生成构造函数对成员变量进行初始化。
#include<iostream>
using namespace std;
class Ext
{
public:
void print();
Ext(int i);
const int &r;
private:
const int a;
static const int b;
};
const int Ext::b=20;
Ext::Ext(int i):a(i),r(a)//构造函数
{
}
void Ext::print()
{
cout<<a<<":"<<b<<":"<<r<<endl;
}
void main()
{
Ext a1(100),a2(0);
a1.print();
a2.print();
system("pause");
}
只能通过初始化列表的方式生成构造函数对成员变量进行初始化。
#include<iostream>
using namespace std;
class Ext
{
public:
void print();
Ext(int i);
const int &r;
private:
const int a;
static const int b;
};
const int Ext::b=20;
Ext::Ext(int i):a(i),r(a)//构造函数
{
}
void Ext::print()
{
cout<<a<<":"<<b<<":"<<r<<endl;
}
void main()
{
Ext a1(100),a2(0);
a1.print();
a2.print();
system("pause");
}