開發語言類 — C++

來源:互聯網
上載者:User

*--- 要點 ---*1.  類2.  繼承3.  虛基類4.  虛函數,純虛函數,抽象類別5.  運算子多載和友元6.  模版7.  單一實例*--- 詳解 ---* 1. 虛基類    (詳細講解)  http://blog.renren.com/share/222770247/8361030810   【為什麼引入虛基類】         多重繼承時,如果類B1和B2都繼承自類A,類C又繼承自B1和B1,會出現如下問題             (1) C中就有兩個A的基類對象             (2) 假如B1和B2分別實現了A.fun()函數,調用C.fun()就會出現歧義   【 虛基類的使用】
    class A{};     class B1 : public virtual A{};     class B2 : public virtual A{};     class C   : public B1, public B2{};
        虛基類通常都是由最外層衍生類別來構造的。本例中,D的建構函式負責建立A的對象;在B和C的建構函式中,用於初始化基類A的那部分代碼則不會被執行。
2. 虛函數,純虛函數,抽象類別    虛函數:函數名前加 virtual的函數,如virtual
void print(int param){};    純虛函數:virtual void print(int param)=0;
    抽象類別:含有純虛函數的類
    區別:虛函數可以實現,可以被調用,純虛函數只能由子類實現;不能定義抽象類別對象,但是可以定義抽象類別指標

3. 運算子多載和友元
    友元函數:運行訪問類的所有函數。
    詳見:http://blog.csdn.net/jarvischu/article/details/6628559
//重載 +double operator + (int b);  //預設一個運算元是類本身//重載輸入操作符,友元  friend istream& operator >>(istream& in,CRectangle& cls);

4. 模版    

    template<class T>      詳見 http://blog.csdn.net/jarvischu/article/details/6577817 5. 單一實例
    類只有一個執行個體對象    實現方法:將建構函式設定為私人,通過成員函數提供唯一的類對象的訪問
*--- 代碼 ---*
#include <iostream>using namespace std;//////////////////////////////////////////////單一實例class Singleton {public:static Singleton* GetInstance(){return pInstance;}void print(){cout<<"Hello World"<<endl;} private:Singleton(){}private:static Singleton* pInstance;};//初始化靜態成員Singleton* Singleton::pInstance=new Singleton();    int main(){Singleton* s = Singleton::GetInstance();s->print();return 0;}

接觸技術越多越久,很多要點都會模糊忘卻,該系列文章甚為淺顯,只作為協助博主個人快速回憶起某技術概況的簡易筆記,高手自覺飄過。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.