📄 类中的static成员.txt
字号:
/* 本程序选自thinking in c++ p426
* 本程序在与说明类中静态数据成员,静态数组成员的使用方法
*
*/
class X {
int m_i;
public:
X( int ii ) : m_i(ii){}
};
class V {
static const int scSize = 100;
static const long scLong = 100;
static const char scChar = 'c';
static const int scInts[];
static const float scFloats[];
static const char scChars[6]; //在这里[]里面的数字可以有也可以没有。
static int size;
static float table[];
static char letters[];
static double doub;
//静态类成员对象
static X x1;
static const X x2;
static X x3[];
static X x4[2];
static const X x5[];
static const X x6[3];
};
//不能在类外再用关键字static 如果定义为:static const int V::scSize;则编译器报两处错误
//error C2734: “V::scSize” : 如果不是外部的,则必须初始化常数对象
//error C2720: “V::scSize” : 成员上的“V::”存储类说明符非法
//这里不能再次初始化,既如果const char V::scChar = 'c': error C2374: “scChar” : 重定义;多次初始化
const int V::scSize;
const long V::scLong;
const char V::scChar;
//[]里面既可以有正整数,也可以没有。
const int V::scInts[] = {1,2,3,4,5,6,7,8};
const float V::scFloats[] = {1.1,1.2,1.3,1.4,1.5,1.6,1.7};
const char V::scChars[] = {'c','b','a','h'}; //[]里可以省略,但是如果有必须要和类中的数字相同
int V::size = 10;
float V::table[] = {1.1,1.2,1.3};
char V::letters[] = {'c','d'};
double V::doub = 3.45678;
//静态类对象的定义
X V::x1(10);
const X V::x2(11); //const 不要忘记
X V::x3[3] = { X(1),X(2),X(3)};
X V::x4[2] = { X(1),X(2)};
const X V::x5[] ={X(3)};
const X V::x6[3] = {X(4),X(2),X(1)};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -