C++定義全域性類物件
阿新 • • 發佈:2018-11-30
可能我這個全域性類的說法不是很準確,不過其實就是變數的擴充套件延伸。
比如你想把一個類讓全部的CPP都能用,而不是一個變數,那麼需要這樣定義:
假設有一個預編譯頭stdafx.h
- 在stdafx.h中加入你想要的全域性類的標頭檔案: include “CMyClass.h” ;
- 在stdafx.cpp中加入類的定義 如:CMyClass myclass;
- 在你想要用到該全域性CMyClass類的其他類CTestProjectApp.h的標頭檔案中: include “stdafx.h”,並在CTestProjectApp.h類的標頭檔案的開頭處
- 記得初始化。
比如有如下程式碼:
預編譯頭stdafx.h 或者單獨的其他標頭檔案:
#include <iostream>
#include "CMyClass.h"
- 1
- 2
- 3
stdafx.cpp
#include "stdafx.h"
CMyClass myclass;
- 1
- 2
使用全域性類的其他類CTestProjectApp.h:
#include "stdafx.h" #include "CTestProjectApp.h" extern CMyClass Myclass; class CTestProjectApp { .... void test(); }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
記得在CTestProjectApp.cpp中初始化該全域性類:
#include "CTestProjectApp.h"
void CTestProjectApp::test()
{
Myclass = new CMyClass();
}