模板的参数值(Parameter values for templates) 除了模板参数前面跟关键字class 或 typename 表示一个通用类型外,函数模板和类模板还可以包含其它不是代表一个类型的参数,例如代表一个常数,...
模板特殊化(Template specialization) 模板的特殊化是当模板中的pattern有确定的类型时,模板有一个具体的实现。例如假设我们的类模板pair 包含一个取模计算(module operation)的函数,而我们...
模板(Templates) 模板(Templates)是ANSI-C++ 标准中新引入的概念。如果你使用的 C++ 编译器不符合这个标准,则你很可能不能使用模板。 函数模板( Function templates) 模板(Templates)使得我们可以生...
抽象基类(Abstract base classes) 基本的抽象类与我们前面例子中的类CPolygon 非常相似,唯一的区别是在我们前面的例子中,我们已经为类CPolygon的对象(例如对象poly)定义了一个有效地are...
多态 (Polymorphism) 为了能更好的理解本节内容,你需要清楚的知道怎样使用指针pointers 和类之间的继承 inheritance between classes。建议如果你觉得以下这些表达式比较生疏的的话, 请复习指...
多重继承(Multiple inheritance) 在C++ 中,一个class可以从多个class中继承属性或函数,只需要在子类的声明中用逗号将不同基类分开就可以了。例如,如果我们有一个特殊的class COutput 可以实...
什么是从基类中继承的? (What is inherited from the base class?) 理论上说,子类(drived class)继承了基类(base class)的所有成员,除了: 构造函数Constructor 和析构函数destructor operator=() 成员 friends 虽...
类之间的继承(Inheritance between classes) 类的一个重要特征是继承,这使得我们可以基于一个类生成另一个类的对象,以便使后者拥有前者的某些成员,再加上它自己的一些成员。例如,假...
类之间的关系(Relationships between classes) Friend 函数 (friend 关键字) 在前面的章节中我们已经看到了对class的不同成员存在3个层次的内部保护:public, protected 和 private。在成员为 protected 和...
静态成员(Static members) 一个class 可以包含静态成员(static members),可以是数据,也可以是函数。 一个class的静态数据成员也被称作类变量class variables,因为它们的内容不依赖于某个对象,...