sách gpt4 ăn đã đi

c++ - 为什么要将 final 添加到 final 类的成员函数中?

In lại Tác giả: Walker 123 更新时间:2023-11-30 03:15:55 28 4
mua khóa gpt4 giày nike

Hãy xem xét đoạn mã sau:

#include 

class B {
virtual void f() {
std::cout << "Base" << '\n';
}
};

class D final: public Base {
void f() final override {
std::cout << "Derived" << '\n';
}
};

Để ý cuối cùng 的两个用途上面的上下文关键字——自 C++11 起可用——我们可以观察到以下内容:

  • Sẽ cuối cùng 添加到 D 的成员函数 f() ngăn chặn f() 在派生自 D 的类中被覆盖
  • Sẽ cuối cùng 添加到类 D 可以防止它进一步派生

因此,成员函数 f() 不可能被派生自 D 的类覆盖,因为这样的派生类不可能存在,因为cuối cùng 应用于类 D

Sẽ cuối cùng 用作声明为 cuối cùng 的类的 ảo 成员函数的覆盖控制有什么意义吗?或者它只是多余的?

câu trả lời hay nhất

cuối cùng 派生类中的 ảo 函数的

cuối cùng 是多余的。

就像在标记为override 的方法上说ảo 一样是多余的。 C++ 有时就是这样。

关于c++ - 为什么要将 final 添加到 final 类的成员函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56674679/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress