#include <iostream>
// 定义一个基类 Base,包含一个虚函数 virtualFunction
class Base {
public:
// 虚函数,派生类可以重写该函数
virtual void virtualFunction() {
std::cout << "Base class virtual function" << std::endl;
}
// 析构函数也应该是虚函数,以确保正确销毁派生类对象
virtual ~Base() {}
};
// 定义一个派生类 Derived,继承自 Base
class Derived : public Base {
public:
// 重写基类的虚函数 virtualFunction
void virtualFunction() override {
std::cout << "Derived class virtual function" << std::endl;
}
};
int main() {
Base* basePtr;
// 创建 Base 类的对象,并通过指针调用虚函数
Base baseObj;
basePtr = &baseObj;
basePtr->virtualFunction(); // 输出: Base class virtual function
// 创建 Derived 类的对象,并通过指针调用虚函数
Derived derivedObj;
basePtr = &derivedObj;
basePtr->virtualFunction(); // 输出: Derived class virtual function
return 0;
}
virtual 的成员函数,允许派生类重写该函数。当通过基类指针或引用调用虚函数时,实际调用的是派生类中重写的版本。virtual,以确保在通过基类指针删除派生类对象时,派生类的析构函数也能被正确调用。以上代码展示了如何使用 C++ 中的虚函数来实现多态性。
上一篇:进制转换c++代码
下一篇:c++freopen怎么用
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站