[effective c++]条款34-区分接口继承和实现继承

在34条款中Meyers介绍了C++中是如何来做接口继承和实现继承的。

先让我们记住几个关键点吧。

  • 为了让继承类只继承函数接口,可以在基类中声明一个纯虚函数。
              class Shape{
                         public:
                               virtual void draw() const = 0;
              };
  • 为了让继承类既继承函数接口,又继承缺省实现,可以在基类中声明一个虚函数。但是要注意,继承缺省实现有可能会造成危险(后续有机会举例)。
  • 为了让继承类继承函数接口和一份强制性实现,可以在基类中声明一个非虚函数。(个人表示疑惑,原因是继承类可以名字覆盖,那么非虚函数和虚函数一样都是可以做实现继承吧?)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值