有关const成员、static成员、const static成员的初始化:
1、const成员:只能在构造函数后的初始化列表中初始化
2、static成员:初始化在类外,且不加static修饰
3、const static成员:类只有唯一一份拷贝,且数值不能改变。因此,可以在类中声明处初始化,也可以像static在类外初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include <iostream>
using
std::cout;
using
std::endl;
class
base
{
public
:
base(
int
x=8):a(x){};
//const成员在构造函数初始化
const
int
a;
static
const
float
pi;
};
const
float
base::pi=3.14159;
int
main()
{
base obj;
cout<<obj.a<<endl;
cout<<obj.pi<<endl;
}
|
输出:8 3.14159;