close

按此前往C++完整教學目錄

 

 

衍生類別物件可以複製給基礎類別物件。這樣一來,衍生類別繼承自基礎類別的成員會被複製過去,

不過在衍生類別中另外定義的成員則不會複製。如:

class A

{

       public:

    int a;

    private:

    int xx;

};

 

class B:public A  //類別B 繼承類別A

{  

    public:

    int b;

};

 

A A1;

B B1;

B1.a=10;

A1=B1;          //類別B的物件B1,複製給類別A的物件A1

cout<<A1.a;      //顯示10

cout<<A1.b;     //這一行是錯誤示範。b是衍生類別物件B1自定的成員,不會被複製到基礎類別物件A1內。

B1=A1;         //這一行是錯誤示範。基礎類別物件無法複製給衍生類別物件。因基礎類別物件裡沒有衍生類別物件自定的成員。

註:以上的複製方法,稱為「切割(sliding)」。也就是把衍生類別物件自定的成員給刪除,再複製給基礎類別物件。

 

 

上一篇:類別(class) 多重繼承

下一篇:類別(class) 抽象類別

arrow
arrow

    埃伯 發表在 痞客邦 留言(1) 人氣()