這個問題很好,乙個最簡單的qt專案中有4個檔案,我們來看看mainwindow.h和cpp的**:
#include //這句話的意思,先宣告乙個在ui命名空間的名為mainwindow的未定義的的類,現在只是乙個宣告而已
namespace ui
class mainwindow : public qmainwindow
;#endif // mainwindow_h
2.mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include #include #include #include #include mainwindow::mainwindow(qwidget *parent) :
qmainwindow(parent),
ui(new ui::mainwindow)//此處也用了乙個ui
mainwindow::~mainwindow()
解釋:.cpp檔案同時引入了兩個標頭檔案
#include "mainwindow.h"
#include "ui_mainwindow.h"
而且它們裡面都有命名空間ui,類名也相同,但是這兩者有重大區別,乙個是宣告,乙個是定義!!!!!
1.mainwindow.cpp中引入"mainwindow.h中"中mainwindow是宣告,如下:
namespace ui
2.mainwindow.cpp中引入的"ui_mainwindow.h"中mainwindow是定義,如下:
namespace ui ;
} // namespace ui
兩個命名空間雖然同名,而且類名也相同,但是乙個是宣告,乙個是定義,可以有無數個宣告,但是只能有乙個定義,所以編譯不會報錯!! 兩個類標頭檔案互相包含
c 中兩個類的標頭檔案互相包含問題 csdn部落格 我們知道,當乙個類 設類a 中包含另乙個類 設類b 的物件時,必須在該檔案中包含另乙個類的標頭檔案,如果兩個類都互用到了對方的物件,理論上就要互相包含標頭檔案,但是這樣是不可取的。貼出 如下 這樣是無法通過編譯的,其原因是它們的標頭檔案互相包含了,...
兩個類的標頭檔案互相包含
我做任務的時候遇到了兩個類都互相包含對方的物件的問題,本來是有錯誤的,但經過我一番改動,兩個標頭檔案互相包含同時,每個標頭檔案都含有令乙個類的前置宣告。雖然最後執行正確,但是方法不太正確,我寫的程式打包放在了碼雲我的私密倉庫裡,在網上看到了比較正確的方法記錄下來。我們知道,當乙個類 設類a 中包含另...
g 兩個關於標頭檔案編譯問題
好吧,不得不說professor demko的c for fe 的project真是可以加速學習c 的好方法。當年本科時候在李文新老師的課上學c 最後也只是完成了poj上 魔獸世界 的大作業,而且只考慮了下派生類 友類和虛構函式。其他東西,呵呵,早都忘了嚕。好了,廢話不多說,開始討論問題。在 ter...