C++ override从字面意思上,是覆盖的意思,实际上在C++中它是覆盖了一个方法并且对其重写,从而达到不同的作用。在我们C++编程过程中,最熟悉的就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。还有一个典型应用就是在继承中也可能会在子类覆盖父类的方法。
公有继承包含两部分:一是“接口”(interface),二是 "实现" (implementation)。
例如Person类的几种成员函数的继承方式:
class Person{
public:
virtual void Eat() const = 0; // 1) 纯虚函数
virtual void Say(const std::string& msg); // 2) 普通虚函数
int Name() const; // 3) 非虚函数
};
class Student: public Person{ ... };
class Teahcer: public Person{ ... };
1.纯虚函数
纯虚函数,继承的是基类成员函数的接口&