public:公有的,class的成员函数和class的实例对象都可以直接访问
private:私有的,只有class的成员函数可以访问,class实例化的对象不能访问
protected:受保护的,父类是public的,子类是private
公有继承 class a: public B
父类的public在子类中是public的,父类protected成员在子类中是private,父类的private在子类中是不可访问的
私有继承 class a:private B
以私有形式派生的子类,基类的公有成员和受保护的成员在子类中是私有的,而基类的私有成员在子类中是不可访问的
不管是公有继承还是私有继承,基类的私有成员在子类中都是不可访问的
子类对象可以赋值给父类对象,反过来不行 B b; a AA; b = AA;
父类指针可以指向子类的对象 F *f; Z z; f =&z;
父类的引用可以作为子类的别名 F &f=z;
多重继承
class A: public C,public B
构造由父类到子类 析构有子类到父类(多重继承时构造按给定的顺序执行,析构相反的顺序执行)
继承的两义性 A a; a.C::hello(), a.B::hello() (子类函数没有两义性,只有基类有)