c++ - 方法是否覆盖虚拟

标签 c++ inheritance polymorphism overriding virtual-functions

有什么区别:

一)

class base{
   int a;
public:
   virtual int function();
}; 
class derived : public base{
   int b;
public:
   int function();
};

二)

class base{
   int a;
public:
   int function();
};    
class derived : public base{
   int b;
public:
   int function();
};

为什么要使用 (a),为什么要使用 (b)?

(b)是一种多态吗?

最佳答案

a) 覆盖基类中的方法。 b) 隐藏它。 b) 不是多态性。

这是一个有用的链接:The Definitive C++ Book Guide and List

关于c++ - 方法是否覆盖虚拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13255835/

相关文章:

c++ - -bash : ./a.out: 无法执行二进制文件: Exec 格式错误

在 header 中定义并在 cpp 中实现的 C++ 结构

java - java中的虚方法调用-多态性

function - 是否可以在不丢失 ocaml 中参数的多态类型的情况下设置函数的默认值

c++ - 有没有更好的删除动态数组元素的方法?

c# - 使用 WinRT 的 Windows.Graphics.Capture 应用像素着色器

java - 在Java中,是否可以通过父类的子类的构造函数来调用父类的父类(super class)构造函数?

java - Java中的继承和重载

Python3 : inheriting from list breaks automagically provided __ne__ when __eq__ is defined?

c++ - 使用基类的类型特征