C++ 支持多态、继承和函数重载,这些是面向对象编程(OOP)的基本概念。以下是这些概念的简要介绍:
-
多态(Polymorphism):
- 多态是面向对象编程的核心概念之一,它允许不同的子类对象对相同的方法做出不同的响应。
- C++ 支持两种多态:编译时多态(静态多态)和运行时多态(动态多态)。
- 编译时多态是通过函数重载实现的,根据函数参数的类型或数量来确定调用哪个版本的函数。
- 运行时多态是通过虚函数(virtual function)和继承实现的,允许子类重写父类的虚函数,并根据对象的实际类型来调用适当的函数。
-
继承(Inheritance):
- 继承是面向对象编程的另一个重要概念,允许创建新类,该类继承了现有类的属性和行为。
- C++ 支持单继承和多继承。单继承表示一个类只能从一个基类派生,而多继承允许一个类从多个基类派生。
- 派生类可以访问基类的公共和受保护成员,可以重写虚函数,或添加新的成员和方法。
-
函数重载(Function Overloading):
- 函数重载是一种编程技巧,允许在同一个作用域内定义多个具有相同名称但不同参数列表的函数。
- C++ 根据函数参数的数量和类型来区分重载的函数。
- 函数重载使代码更加灵活,可以根据不同的参数来选择不同的函数实现。
-
#include <iostream> class Shape { public: virtual void draw() { std::cout << "Drawing a shape" << std::endl; } }; class Circle : public Shape { public: void draw() override { std::cout << "Drawing a circle" << std::endl; } }; c