C++ override使用详解

       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.纯虚函数

纯虚函数,继承的是基类成员函数的接口,必须在派生类中重写该函数的实现:

Person *s1 = new Student;
s1->Eat(); // calls Student::Eat

Person *t1 = new Ellipse;
t1->Eat(); // ca

你可能感兴趣的:(C++入门及项目实战宝典,C/C++开发实战365)