摘要:
继承时的函数接口传递 当你 public 继承一个类时,接口是一定会被继承的,你可以选择子类是否应当继承实现: 不继承实现,只继承方法接口:纯虚函数。 继承方法接口,以及默认的实现:虚函数。 继承方法接口,以及强制的实现:普通函数。 Rect 和 Ellipse 都继承自 Shape。 public 阅读全文
摘要:
隐藏名称是作用域的问题。 在 C++ 中每一对 都会开启一个新的作用域,并嵌套在当前作用域中。 可以看到 double x 隐藏了 int x,因为C++的名称隐藏规则隐藏的是名称,和类型无关! 继承作用域 子类可以访问父类中的名称,是因为子类的作用域是嵌套在父类的作用域中的。 这一点也很符合直觉: 阅读全文
摘要:
public 继承意味着 "is a" C++ 面向对象程序设计中,最重要的规则便是:public 继承应当是"is a"的关系。当 Derived public 继承自 Base时, 相当于你告诉编译器和所有看到你代码的人:Base 是 Derived 的抽象,Derived 就是一个 Base, 阅读全文