這一篇介紹一下 c++物件導向另外兩個特性繼承和封裝
繼承的限定詞
成員的繼承
class testa
testa(int i)
};class test : public testa
};test();
// 執行結果:
// testa ctor
// test ctor
class testa
testa(int i)
};class test : public testa
};test();
// 執行結果:
// testa param ctor
// test ctor
class testa
};class test : public testa
};test();
// 執行結果:
// test dtor
// testa dtor
覆蓋
class testa
private:
int n2;
};class test : public testa
void func()
private:
int n2;
};test().func();
cout << test().n1 << " " << test().testa::n1 << endl;
// 執行結果:
// 3 4 1
// 3 1
class testa
};class test : public testa
};test().func();
test().testa::func();
// 執行結果:
// test func
// testa func
虛繼承
// *****= 這是乙個菱形繼承的測試用例 *****=
class a ;
class b : virtual public a ;
class c : virtual public a ;
class test : public b, c
};
如果未特殊說明,以上測試均是在win10 vs2017 64bit編譯器下進行的
多重繼承 Python的封裝繼承多型和多重繼承
相信你一定知道繼承,多型和封裝。封裝通常是為了提供統一介面而將具體實現過程或者屬性以方法或者類的方式對外呈現 繼承就是子類繼承父類從而擁有父類的方法和屬性 多型是繼承了同乙個父類的不同子類分別重寫了父類的某個方法而使得這個方法在不同的子類中有不同的實現。多重繼承即子類繼承多個父類,擁有多個父類的方法...
c 多重繼承和虛繼承
多重繼承 多重繼承是指從多個直接基類中產生派生類的能力。多重繼承的派生類繼承了所有父類的屬性。struct base1 struct base2 struct d1 public base1,public base2 d1 default 虛繼承 虛繼承的目的是令某個類做出宣告,承諾願意共享它的基類...
多重繼承 C 中的多重繼承
多重繼承是c 的一項功能,其中乙個類可以從多個類繼承。繼承類的建構函式以它們繼承的相同順序被呼叫。例如,在以下程式中,在a的建構函式之前呼叫b的建構函式。include using namespace std class a class b class c public b,public a not...