C++中的繼承機制
阿新 • • 發佈:2022-04-15
繼承的作用&概念:
繼承機制允許依據某一個父類來定義多個子類,這使得建立和維護一個應用程式更加簡單高效。
繼承中依據訪問許可權有不同的子類訪問型別:
一個派生類繼承了所有的基類方法,但下列情況除外:
1.基類的構造/解構函式和拷貝建構函式
2.基類的過載運算子
3.基類的友元函式
繼承demo:
namespace shape { class shape { public: double width,height,volume; void setWidth(double wid) { width = wid; }void setHeight(double hei) { height = hei; } double getVolume() { double volume = width*height; cout << "Volueme= " << volume << endl; return volume; } }; class Rectangle :public shape { public:double getArea() { cout << "getArea" << endl; return (width*height); } }; }
Rectangle類繼承了shape類的public方法,可以通過Rectangle.setWidth()..進行呼叫
shape稱之為基類,Rectangle稱之為派生類
多繼承demo:
namespace animal { class dog { public: void eat() { cout<< "dog eat ... " << endl; } }; class cat { public: void bark() { cout << "cat bark... " << endl; } }; class zz :public dog, public cat { public: void sleep() { cout << "zz sleep..." << endl; } }; }
派生類zz繼承了dog和cat兩個基類,多繼承的寫法可以總結為:
class <派生類名>:<繼承方式1><基類名1>,<繼承方式2><基類名2>,… { <派生類類體> };