一、類的聲名與實現的分離:
和c函數聲明與實現分離類似
有.h : 類的聲明
.cpp : 類的實現
在在一個類的cpp中應該包含本類的.h文件
在cpp中類的使用:例:
1 //Circle類 2 //Circle.h 3 class Circle{ 4 private: 5 double radious; 6 public: 7 Circle(); 8 }; 9 //Circle.pp 10 #include “Circle.h” 11 Circle::Circle(){ 12 Radius=1; 13 }
在主函數中使用此類只需要在頭文件中包含.h的名字即可。
二、內聯函數
直接定義在類裡面是內聯函數,在cpp裡面用inline
內聯函數要跟類的聲明寫在同一個文件中,否則編譯會出錯,就是內聯函數最好寫在聲明類的.h文件中,而不是像一般函數那樣寫在實現類的.cpp文件中。 當然,內聯函數還有另外一種寫法,就是直接寫在類中,此時,不必使用“inline”關鍵字。
內聯函數只是一種編譯機制,用上面兩種形式聲明的函數僅僅是建議編譯器進行內聯,而編譯器是否內聯不一定。正如前面所說,函數調用的開銷只是對小的函數不可忽略,對於重量級的函數還是可以忽略的,而且在絕大多數的場合,函數調用才是人間正道,才是解決問題的最佳。所以大多數編譯器並不把帶有循環、遞歸等或者代碼比較多的函數進行內聯編譯,有的甚至不允許聲明成內聯的。