|
本帖最后由 沉默流星 于 2025-5-18 17:29 编辑
问题如下:
- #include <iostream>
- // 基类 ASD
- class ASD {
- public:
- // 虚函数 add
- virtual int add(int a, int b) {
- return a + b;
- }
- // 虚析构函数(确保删除派生类对象时不会出现问题)
- virtual ~ASD() {}
- };
- // 派生类 BB
- class BB : public ASD {
- public:
- // 重写虚函数 add
- int add(int a, int b) override {
- return a + b + 10; // 示例:在基类的基础上加10
- }
- };
- int main() {
- // 使用基类指针指向派生类对象
- ASD* ptr = new BB();
- // 调用重写的 add 函数
- std::cout << "Result: " << ptr->add(5, 3) << std::endl; // 输出应该是 18 (5+3+10)
- // 释放内存
- delete ptr;
- return 0;
- }
复制代码 如何使用@虚拟方法 可覆盖 来重写父类虚函数,然后又如何调用.
说的是封装,使用别名无法使用@虚拟方法。
|
|