程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++學習筆記(2)類的聲名與實現的分離及內聯函數,學習筆記內聯

c++學習筆記(2)類的聲名與實現的分離及內聯函數,學習筆記內聯

編輯:C++入門知識

c++學習筆記(2)類的聲名與實現的分離及內聯函數,學習筆記內聯


一、類的聲名與實現的分離

和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”關鍵字。

    內聯函數只是一種編譯機制,用上面兩種形式聲明的函數僅僅是建議編譯器進行內聯,而編譯器是否內聯不一定。正如前面所說,函數調用的開銷只是對小的函數不可忽略,對於重量級的函數還是可以忽略的,而且在絕大多數的場合,函數調用才是人間正道,才是解決問題的最佳。所以大多數編譯器並不把帶有循環、遞歸等或者代碼比較多的函數進行內聯編譯,有的甚至不允許聲明成內聯的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved