静态成员(static)和非静态成员的初始化有比较大的区别,所以这里单独成章。

静态成员初始化:

一,静态变量:

#include<iostream>usingnamespacestd;classCtest{public:staticinta;};intCtest::a=12;intmain(){cout<<Ctest::a<<endl;Ctestct;cout<<ct.a<<endl;return0;}

结果:

注意点:

①,静态变量的初始化只能在类外进行,不能使用参数列表进行初始化。

②,其调用方案有2种:

1,类名作用域 : Ctest::a

2,对象调用: Ctest ct; ct.a

③,内外初始化需要加带变量类型名 : int Ctest::a = 12 。需要将int加上。


二,静态常量×××参数

#include<iostream>usingnamespacestd;classCtest{public:staticinta;staticconstintb=18;};intCtest::a=12;intmain(){cout<<Ctest::b<<endl;Ctestct;cout<<ct.b<<endl;return0;}

结果:


静态方法:

#include<iostream>usingnamespacestd;classCtest{public:staticinta;staticconstintb=18;staticvoidfun1(){cout<<"静态函数"<<endl;}};intCtest::a=12;intmain(){Ctest::fun1();Ctestct;ct.fun1();//cout<<ct.b<<endl;return0;}

结果: