1. 程式人生 > 其它 >C++中的繼承機制

C++中的繼承機制

繼承的作用&概念:

繼承機制允許依據某一個父類來定義多個子類,這使得建立和維護一個應用程式更加簡單高效。

繼承中依據訪問許可權有不同的子類訪問型別:

 

 一個派生類繼承了所有的基類方法,但下列情況除外:

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>,…
{
<派生類類體>
};