1. 程式人生 > >c++代碼復用...

c++代碼復用...

UNC linux c 代碼 格式 否則 如果 增加 stat sta

c++的代碼復用方式無非就是兩種
-->使用類的繼承
-->使用類的模版

ps: 博主主要是linux c系的,對模版方面知道的不多;
難免會有錯誤,如果發現有錯,請向我提出

關於繼承

==========================
繼承中重要也是最困難的就是多繼承的情況,在此
情況下編程的復雜度也會明顯增加

                        Human--------->Writer----------|
                            |---------------->Singer--------------->WriterSinger

以上就是一個很經典的關於多繼承的例子,
writer與singer都由human繼承而來,但WriterSinger
由writer與singer繼承而來,但明顯最後的派生類有了
兩份human的數據,這個時候就需要使用虛基類來解決
這個問題。

  關於虛基類

=============================
(1)在使用虛基類時,註意每次在定義繼承的類時為每個類加上
virtual關鍵字,這樣就可以避免每個類中相同的部分產生
重復的可能。
(2)註意在書寫構造函數時需要顯式的定義其重復的基類的
構造函數,否則c++會去使用基類默認的構造函數。

  關於類模版

=============================

在編寫類模版後,幾乎可以不修改代碼直接使用

template<class T>
class Classname{
private:
    datas ;
public:
    functions ;
};
//   當需要使用範型數據時,直接用T替代。

在編寫對應的函數時:
template<class T>
returntype Classname<T>::funcname( paramlist ){
statements ;
}

在使用時只需要指定其相應的數據格式即可。
Classname<datatype> entity(initial params);

/**
相關的鏈接:
博主今晚有些困了,先去睡了,有空找找好些的文檔,鏈接在這裏
**/

c++代碼復用...