C++继承
继承:
class worker:public person{
public:
void work();
int m_iSalary;
};
基类--派生类;父类----子类
申请的时候先申请父类,销毁的时候先销毁子类。
公有继承
class A:public B
保护继承
class A:protected B
私有继承
class A:private B
继承中的特殊关系
隐藏
当父类和子类中有两个相同名字的方法,子类继承父类的时候,此时子类的方法会隐藏了父类的方法。调用方法如下:(soldier子类和person父类都有play方法)
solider子类和person父类都有code这个属性。
isA
父类和子类的继承关系。
子类对象可以赋值给父类的指针。父类指针可以指向子类对象地址。
父类指针只能调用父类自己的方法,无法调用子类的成员函数。
在继承关系中在堆上new一个子类对象容易出现内存泄漏,就是在释放内存的时候,子类的析构函数没有被调用。解决方法:虚析构函数。virtual~类名();
多继承与多重继承
多重继承:一个基类有一个派生类,这个派生类又有一个派生类。
多继承:一个派生类有多个基类。