c++靜態類實現
阿新 • • 發佈:2019-01-29
廢話不多說,先上程式碼:
靜態類 View.h檔案程式碼:
static class View
{
private:
static Student student;
public:
static int much ;
static void addStudent();
};
view.cpp 實現程式碼:
Student View::factor;
int View::much = 0;
//必須要有的靜態成員實現程式碼
void View::addStudent() {
Student st1;
factor.add(st1);
//此處靜態成員不能使用 this->
}
主函式 main 外部呼叫
#include "View.h"
int main()
{
View::addStudent();
//靜態函式呼叫是可採用此方法
return 0;
}
注:
靜態類所必須的初始化在類外進行(不應在.h檔案內實行),而前面不加static,以免與外部靜態變數(物件)相混淆。
初始化時不加該成員的訪問許可權控制符private,public等。
初始化時使用作用域運算子來標明它所屬類,靜態資料成員是類的成員(而不是物件的成員,因沒有物件)。
靜態資料成員是靜態儲存的,它是靜態生存期,必須對它進行初始化。
不能再實現中使用this關鍵字
呼叫時,標明所屬靜態類(也可以像math類採用名稱空間,沒有命名衝突)