C++ 中基类和派生类的区别

2025年3月22日 | 阅读4分钟

在本文中,我们将讨论 C++ 中基类和派生类的区别。但在讨论它们的区别之前,我们必须了解继承、基类和派生类及其示例。

什么是继承?

继承 创建了一个 “is-a” 连接,这意味着派生类 “是” 基类的一个专用版本。它允许派生类访问基类的属性和方法。

在面向对象编程 (OOP) 中,继承是一个基本概念,它允许新类(称为派生类或子类)从 现有类(称为基类或父类)继承特性和行为。这在类之间创建了层次结构链接,提高了代码的可重用性和代码组织性。

语法

在 C++ 中,继承语法是派生类声明中的 冒号 (:),后跟访问说明符和基类的名称。

程序

让我们举一个例子来说明 C++ 中的 继承

输出

Difference between Base class and Derived class in C++

说明

  • 在此示例中,Car 是一个从基类 Vehicle 派生而来的派生类。
  • Car 类继承了 Vehicle 的 start()stop() 方法,并添加了自己的 drive() 函数。

理解 C++ 基类和派生类

什么是基类?

基类 是父类,其他类(称为 派生类)从中获取它们的属性和行为。它具有可以由多个派生类共享的共同特性和方法。基类通常被设计为抽象的,这意味着它们可能只包含必须在派生类中重写的虚函数。

程序

让我们举一个例子来说明 C++ 中的 基类

输出

Difference between Base class and Derived class in C++

说明

  • 在此示例中,Shape 是基类,而 Circle 是一个从 Shape 继承的派生类。
  • Circle 类的 draw() 方法 被重写以提供特定的实现。

什么是派生类?

派生类 是一个从其 基类 继承属性和行为的类。它可以添加自己的属性和方法,同时重写或扩展基类的功能。多重继承允许派生类具有多个基类。

程序

让我们举一个例子来说明 C++ 中的 派生类

输出

Difference between Base class and Derived class in C++

说明

  • 在此示例中,square 是另一个从 Shape 基类派生而来的派生类。
  • Circle 和 Square 类都重写了 draw() 方法以提供定制的实现。

基类和派生类的区别:-

Difference between Base class and Derived class in C++

基类派生类 之间有几个区别。基类和派生类之间的一些主要区别如下

特点基类派生类
定义所有其他类都从它派生而来。此类继承了基类的属性。
继承不能从其他类继承。继承了基类的属性和行为。
创建不使用继承直接构建。通过从基类派生而开发。
访问控制它可以访问其成员以及公共或受保护的成员。成员根据其访问说明符(public、protected 或 private)继承。
修饰符派生类不能直接修改此类。可以修改继承的成员或方法。
用途作为派生类的模板。扩展或修改底层类的功能。
实例创建如果不是抽象的(没有纯虚函数),则可以创建它。如果它具有纯虚函数(抽象),则只能通过其派生类实例化。
函数重写派生类可以重写虚函数。通过重写基本类方法提供专门的实现。
关系与其他类没有直接连接。其基类与其具有层次结构连接。
示例class Circle: public Shape{...};class Shape: public Shape{.. };