继承的作用&概念:

继承机制允许依据某一个父类来定义多个子类,这使得创建和维护一个应用程序更加简单高效。

继承中依据访问权限有不同的子类访问类型:

 

 一个派生类继承了所有的基类方法,但下列情况除外:

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>,…
{
<派生类类体>
};