多态是面向对象编程中的一个重要概念,它能够实现在父类引用指向子类对象时的动态绑定,从而在运行时确定调用哪个子类对象的方法。C++ 和 C# 是两种流行的面向对象编程语言,在多态性和继承方面有一些共同之处,但也存在一些差异。本文将详细讨论 C++ 中的多态和 C# 中的公有继承,并附带相应的源代码示例。
首先,让我们来看一下 C++ 中的多态性。在 C++ 中,实现多态性通常需要通过虚函数和基类指针或引用来实现。虚函数是在基类中声明的,子类可以通过重写(覆盖)虚函数来提供自己的实现。当基类指针或引用指向子类对象时,调用虚函数将根据实际对象的类型来确定具体执行哪个版本的函数。
下面是一个示例代码:
#include <iostream>
class Shape {