#include <iostream>
using namespace std;
// 定义一个基类
class Base {
public:
// 定义虚函数
virtual void show() {
cout << "这是基类的show函数" << endl;
}
};
// 定义一个派生类
class Derived : public Base {
public:
// 重写基类的虚函数
void show() override {
cout << "这是派生类的show函数" << endl;
}
};
int main() {
Base* basePtr;
Derived derivedObj;
// 将派生类对象赋值给基类指针
basePtr = &derivedObj;
// 调用虚函数,实际调用的是派生类的函数
basePtr->show(); // 输出: 这是派生类的show函数
return 0;
}
Base
:定义了一个虚函数 show()
。使用 virtual
关键字声明的成员函数称为虚函数,它允许在派生类中被重写。Derived
:重写了基类中的 show()
函数。使用 override
关键字确保编译器检查该函数确实重写了基类中的虚函数。basePtr
指向派生类对象 derivedObj
,调用 show()
函数时,实际调用的是派生类中的版本,而不是基类中的版本。这就是 C++ 中的多态性。这段代码展示了如何使用虚函数实现多态性,使得程序能够根据对象的实际类型调用相应的函数。
上一篇:c++builder
下一篇:getline在c++中怎么用
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站