靜態成員(static)和非靜態成員的初始化有比較大的區別,所以這里單獨成章。
靜態成員初始化:
一,靜態變量:
#include <iostream>
using namespace std;
class Ctest
{
public:
static int a;
};
int Ctest::a = 12;
int main()
{
cout << Ctest::a << endl;
Ctest ct;
cout << ct.a << endl;
return 0;
}結果:

注意點:
①,靜態變量的初始化只能在類外進行,不能使用參數列表進行初始化。
②,其調用方案有2種:
1,類名作用域 : Ctest::a
2,對象調用: Ctest ct; ct.a
③,內外初始化需要加帶變量類型名 : int Ctest::a = 12 。需要將int加上。
二,靜態常量×××參數
#include <iostream>
using namespace std;
class Ctest
{
public:
static int a;
static const int b = 18;
};
int Ctest::a = 12;
int main()
{
cout << Ctest::b << endl;
Ctest ct;
cout << ct.b << endl;
return 0;
}結果:

靜態方法:
#include <iostream>
using namespace std;
class Ctest
{
public:
static int a;
static const int b = 18;
static void fun1()
{
cout << "靜態函數" << endl;
}
};
int Ctest::a = 12;
int main()
{
Ctest::fun1();
Ctest ct;
ct.fun1();
//cout << ct.b << endl;
return 0;
}結果:

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。