C++之继承
文章平均质量分 54
Bartle
这个作者很懒,什么都没留下…
展开
-
继承:继承接口和实现
在继承体系中有的时候希望只继承一个接口,例如在图形体系中继承draw()函数,因为每个图形都有不同的画法,所以只能继承一个接口,具体怎么画要到派生类中具体实现。所以要定义如下:class Shape{public: virtual void draw() = 0;};class Rectangle : public Shape{public:void dra原创 2017-03-24 19:31:37 · 677 阅读 · 0 评论 -
继承:避免遮掩继承而来的名称
以上代码中会发生错误的主要原因就是因为派生类定义的f1()遮掩了基类的函数名。导致在派生类调用基类函数失败。这个问题我们必须重视,因为在《Effective C++》中提到公共继承的理念是“is”。如果派生类不能够调用基类的方法时,颠覆了这个理念,所以我们必须解决这个问题。如何解决我学到了一个以前从来没有用到的代码。就是在派生类中加入“using Base::f1;”这行代码。主要的意思就是告原创 2017-03-23 18:06:39 · 364 阅读 · 0 评论