继承的作用&概念:
继承机制允许依据某一个父类来定义多个子类,这使得创建和维护一个应用程序更加简单高效。
继承中依据访问权限有不同的子类访问类型:
一个派生类继承了所有的基类方法,但下列情况除外:
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>,… { <派生类类体> };