目录
Override关键字的用法
Override关键字到底是干什么的?
Override关键字的作用是检查派生类成员函数是否真的覆盖了在基类中所声明的相应的虚函数。派生类中的成员函数覆盖基类中的成员函数的条件是:除了函数体不同外其他全部相同。
Override关键字使用实例
#include <iostream>
#include <string>
using namespace std;
class Cperson
{
private:
char sex;
string name;
public:
Cperson(char sex, string name)
{
this->sex = sex;
this->name = name;
}
~Cperson()
{
cout << "调用Cperson的析构函数" << endl;
}
virtual void ShowInf()
{
cout << this->name << "的性别为" << this->sex << endl;
}
};
class Cstudent:public Cperson
{
private:
float mark;
public:
Cstudent(float mark, string name, char sex) :Cperson(sex, name)
{
this->mark = mark;
}
~Cstudent()
{
cout << "调用Cstudent的析构函数" << endl;
}
// 要覆盖基类的同名函数,函数的返回值,参数类型顺序,函数名字都必须一致
void ShowInf() override // override的存在增加了程序的安全性
{
cout << "该位同学的成绩为" << this->mark << endl;
}
};
int main()
{
Cstudent stud(99.99, "超级霸霸强", 'm');
Cperson *person = &stud;
person->ShowInf(); // 覆盖成功
}