c++的继承与派生

  c++支持多继承,继承方式有三种,公有继承,私有继承和保护继承。公有继承时,基类的公有成员和保护成员的访问属性在派生类中不变,保护继承时,基类的公有成员和保护成员的访问属性在派生类中都变成保护成员,私有继承时,基类的公有成员和保护成员的访问属性在派生类中都变为私有。三种继承方式都不可以在派生类中访问基类的私有成员,但是c++中不能继承基类的构造函数和析构函数。

  c++中派生类的对象可以隐含转换为基类对象,可以初始化基类的引用,还可以隐含转换为基类的指针。

  c++中派生类如果新增了与基类同名的成员将会隐藏基类的成员,包括基类成员函数的重载函数。此时使用派生类对象访问的就是派生类中新增的同名成员,不再是基类的。如果要访问基类的,必须使用基类名和作用域分辨符。

  虚基类是为了解决当某类的部分或全部直接基类是从另一个共同基类派生而来时,派生类的对象中,那些同名的数据成员在内存中可能有多个副本,同一个函数名会有多个映射。如果将共同基类设置为虚基类,这时内存中就只有一个副本。

 

posted @ 2016-10-23 13:41  夜雨最萌  阅读(142)  评论(0编辑  收藏  举报