📅  最后修改于: 2023-12-03 14:39:38.753000             🧑  作者: Mango
在 C++ 中,可以使用虚函数实现运行时多态性。C++ 中的虚函数是在基类中声明的,当在派生类中重新定义虚函数时,该函数将自动成为虚函数。
使用虚函数有以下好处:
#include <iostream>
using namespace std;
class Person {
public:
virtual void introduce() {
cout << "I am a person." << endl;
}
};
class Student : public Person {
public:
void introduce() override {
cout << "I am a student." << endl;
}
};
int main() {
Person* p;
Student s;
p = &s;
p->introduce();
return 0;
}
代码解释:
Person
类中声明了虚函数 introduce()
Student
类继承自 Person
类,重写了 introduce()
函数,添加了 override
关键字main()
函数中,创建一个 Student
对象 s
,将其地址赋给 Person
指针 p
,然后调用 introduce()
函数。可以看到输出的是 I am a student.
虚函数可以实现运行时多态性,使得程序更加灵活,方便地进行类层次结构的继承和派生,并可以在父类定义虚函数,子类按需继承,减少代码重复。使用时需要注意函数的声明和重写操作。