C++ 抽象类2025 年 6 月 12 日 | 7 分钟阅读 在 C++ 中,抽象类必须至少包含一个纯虚函数。或者,放一个没有定义的函数。抽象类的派生类必须指定纯虚函数,否则子类本身将变成一个抽象类。 在 C++ 中,抽象类主要用于表达可以派生出更具体类的广义概念。我们不能创建抽象类类型的对象。但是,指针和引用可以用于抽象类类型。在开发抽象类时,至少定义一个纯虚特性。使用纯说明符 (= 0) 语法声明 虚函数。 考虑虚函数的例子。尽管类的目标是为形状提供基本功能,但形状类型的元素过于通用,价值不大。因此,形状是抽象类的一个很好的候选。 语法它具有以下语法: C++ 抽象类示例让我们举一个例子来说明 C++ 中的抽象类。 示例编译并运行输出 Starting engine of BMW... Most cars use Petrol or Diesel. Starting engine of Audi... Most cars use Petrol or Diesel. 说明 在此示例中,我们演示了抽象类和运行时多态性的概念。之后,抽象基类 Car 包含一个纯虚函数 startEngine() 和一个具体方法 fuelType()。派生类 BMW 和 Audi 重写了 startEngine() 函数以提供特定的实现。在 main() 函数中,使用基类指针动态调用被覆盖的方法,展示了多态性。 C++ 中抽象类的特性C++ 中抽象类有几个特性。一些特性如下:
C++ 中抽象类的限制C++ 中抽象类有几个限制。一些限制如下:
我们可以创建抽象类的对象吗?不能,我们不能创建抽象类的对象,因为抽象类不能被实例化。所以,当我们构造一个纯虚函数时,它会在内存中为其保留一些空间,但我们不会放入任何地址,因此编译器不允许我们为其创建对象。因此,我们只能创建抽象类,但不能实例化它。 抽象在日常生活中有多重要?ATM 机器是日常生活中抽象的另一个例子。然而,我们都使用 ATM 执行取款、转账、生成迷你对账单等任务,但我们无法访问 ATM 的内部数据。数据保护技术(如数据抽象)可以防止未经授权的数据访问。 C++ 中抽象类和接口的区别C++ 中抽象类和接口之间存在一些差异。一些主要区别如下:
抽象类示例让我们再举一个例子来说明 C++ 中的抽象类。 示例编译并运行输出 The area of rectangle is: 50 The area of square with side 4 is: 16 说明 在此示例中,我们定义了一个 Shape 类,其中包含计算矩形和正方形面积的函数。之后,我们使用 width() 和 height() 函数设置矩形的尺寸,并使用 areaOfRectangle() 计算其面积。areaOfSquare() 函数将边长作为输入并返回正方形的面积。在 main() 函数中,这两个函数都使用适当的值进行了演示。 C++ 抽象类 MCQ1) 以下哪个选项关于 C++ 中的抽象类是正确的?
答案: b) 用作基类且至少包含一个纯虚函数的类称为抽象类 2) 以下哪个选项关于 C++ 中的抽象类是正确的?
答案: c) 在父类中没有定义的函数称为纯虚函数。 3) 识别 C++ 中定义纯虚函数的正确语法?
答案: a) virtual return_type f1( ) = 0; 4) 以下哪些类可以用于设计父类或基类?
答案: d) 抽象类 5) 我们在 C++ 中在哪里使用抽象类?
答案: b) 仅父类 下一主题C++ 命名空间 |
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India