您好,欢迎来到华佗养生网。
搜索
您的当前位置:首页Effective C++

Effective C++

来源:华佗养生网
Effective C++ 32

Public继承在c++中的作用:

如果derived class继承类通过public继承方式继承自base class基类,那么程序员就默认基类的功能在派生类中都能实现。否则这种继承就是失败的继承。

举个例子,鸵鸟和鸟的关系。在现实生活中可以认为这种继承关系是对的,自然的。可是,在C++程序中这种关系却可能存在问题。

比如,飞行功能fly()被认为是鸟的基本属性,但是对于鸵鸟却行不通。如果基类中有个virtual fly()函数,通过public继承,就是默认鸵鸟也具有这种能力,但是这却违反常理。

class Bird { virtual void fly(){....} };

class Ostrich:public Bird { }

Ostrich os;

os.fly();//调用成功

为了克服这种问题,最好的方法就是去掉Bird类中的fly()方法。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo7.cn 版权所有 湘ICP备2022005869号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务