派生类中函数的 C++ "virtual"关键字。有必要吗?

标签 c++ overriding virtual-functions

使用下面给出的结构定义...

struct A {
    virtual void hello() = 0;
};

方法一:

struct B : public A {
    virtual void hello() { ... }
};

方法 #2:

struct B : public A {
    void hello() { ... }
};

这两种重写hello函数的方式有什么区别吗?

最佳答案

它们完全一样。除了第一种方法需要更多的输入并且可能更清晰之外,它们之间没有区别。

关于派生类中函数的 C++ "virtual"关键字。有必要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4895294/

相关文章:

c++ - 未在范围 C++ [数组] 中声明

javascript - HTML - 覆盖状态栏链接位置显示

css - 如何覆盖外部CSS?

c++ - 不允许抽象类类型 "Rectangle"的对象

c++ - 虚拟构造函数习语和工厂设计

c++ - 模拟数组的随机迭代

c++ - 模板化 [] 或 () 运算符重载 - 可能不使用类型作为参数?

c++ - std::pair 和 visual studio 2010 中的自动替换

templates - jbot 没有覆盖我的模板

c++ - 如何使用 G++ 抑制纯虚拟类的 C++ vtable 生成?