const变量就是一个只读的变量。
Static成员
类内声明,类外定义和初始化(可不初始化),类外不带static关键字。
Const成员:
初始化列表初始化。
const 成员只是针对与一个对象来说的,同一个类的不同对象的 const 常量的值可以不一样。
Const static成员:
类内初始化,类外定义
或者
类外初始化(同static成员),不能用初始化列表。
#include <iostream>
using namespace std;
class A
{
public:
A():ci(10) //const member initializes in the initialization list
{}
const int ci;
static int sti;//static member declaration
//two method of initialization of const static member.
const static int csti=8;//const static member declaration and initialization
const static int csti2;//const static member declaration
};
int A::sti = 6;//static member definition and initialization
const int A::csti;//const static member definition.
const int A::csti2=100;//const static member definition and initialization.
A ga;
int main()
{
cout << ga.ci << endl;
cout << A::sti << endl;
cout << A::csti << endl;
cout << A::csti2 << endl;
return 0;
}