C++ 面向对象编程 (OOP) 概念2025 年 8 月 29 日 | 阅读 10 分钟 C++ 编程的主要目的是将面向对象的概念引入 C 编程语言。面向对象编程是一种提供许多概念的范例,例如 继承、数据绑定、多态 等。 将一切都表示为对象的编程范例被称为真正的面向对象编程语言。Smalltalk 被认为是第一门真正的面向对象编程语言。 OOPs (面向对象程序系统)对象是指一个现实世界的实体,例如一支笔、一把椅子、一张桌子等。面向对象编程是一种使用 类 和对象来设计程序的面向对象方法或范例。 ![]() 它通过提供一些概念来简化软件开发和维护 1. 类 (Class)对象的集合称为类。它是一个逻辑实体。必须创建一个 C++ 类的实例才能访问和使用用户定义数据类型的成员数据和成员函数。对象的类充当其蓝图。 示例 在 C++ 中,使用关键字 class 定义类,如下面的示例所示。 示例编译并运行输出 Name: John, Age: 24 说明 在此示例中,Student 类具有私有成员 name 和 age,并通过构造函数进行初始化。display() 函数打印学生的详细信息,并被标记为 const 以确保它不会修改类成员。 类的优点
2. 对象任何具有状态和行为的实体都被称为对象,例如椅子、笔、桌子、键盘、自行车等。它可以是物理的或逻辑的。 类的任何实例都表示为一个对象。对象是其相应类的实例,它代表一个具有数据属性和相关功能的现实世界实体。 语法 它具有以下语法: 示例 让我们以一个例子来说明 C++ 中的对象。 示例编译并运行输出 Brand: Tesla, Speed: 150 km/h 说明 在此 C++ 程序中,它定义了一个具有公共整数 speed 和 showDetails() 函数的 Car 类,但缺少 brand 成员的定义,导致编译错误。为了解决这个问题,brand 应该在类中声明为成员 变量。 对象的优点
3. 继承当一个对象获得父对象的全部属性和行为时,即 继承,它提供了代码重用。它用于实现运行时多态。
语法 它具有以下语法: 示例 让我们以一个例子来说明 C++ 中的继承。 示例编译并运行输出 Brand: Hundai Speed: 150 km/h 说明 此 C++ 程序定义了一个具有受保护的 brand 属性的 Vehicle 类和一个添加了 speed 属性的派生 Car 类。Car 中的 showDetails() 函数显示 brand 和 speed,这展示了继承。 继承的优点
4. 多态当一项任务以不同方式执行时,即 多态。例如,为了以不同的方式说服客户,绘制某些东西,例如形状或矩形等。 不同的情况可能导致操作表现出不同的行为。操作中使用的对象类型决定了行为。 语法 它具有以下语法: 示例 让我们以一个例子来说明 C++ 中的多态。 示例编译并运行输出 Bark 说明 此程序通过使用基类指针 (Animal*) 调用派生 Dog 类的重写的 makeSound() 函数来演示多态。在 Animal 中添加了一个虚拟析构函数,以确保在动态删除对象时进行正确清理。 多态的优点
5. 抽象抽象是隐藏内部实现细节而仅向用户公开必要功能的过程。数据抽象是向外部世界公开必要信息而隐藏实现或后台信息的过程。在 C++ 中,我们使用抽象类和接口来实现抽象。 语法 它具有以下语法: 示例 让我们以一个例子来说明 C++ 中的抽象。 示例编译并运行输出 Processing withdrawal of $80 说明 此 C++ 程序定义了一个 ATM 类,其中包含一个 withdrawMoney() 方法来显示提款消息。main() 函数创建一个 ATM 对象并调用 withdrawMoney() 传递一个示例金额。 抽象的优点
6. 封装在 C++ 中,封装被定义为将代码和数据绑定(或包装)到单个单元中。例如,胶囊用不同的药物包装。 封装通常被理解为将相关的信息和数据分组到单个实体中。封装是在面向对象编程中将数据与其操作函数绑定在一起的过程。 语法 它具有以下语法: 示例 让我们以一个例子来说明 C++ 中的封装。 示例编译并运行输出 Area of Rectangle = 96 封装的优点
OOP 相对于过程式编程语言的优势
为什么我们需要 C++ 中的 OOP?早期的编程方法存在各种缺点,性能也很差。这种方法无法有效解决现实世界的问题,因为与过程式编程一样,我们无法在程序中重用代码,全局数据访问存在困难等等。 通过使用类和对象,面向对象编程使代码维护变得简单。由于继承支持代码重用,程序会更简单,因为我们不必重复编写相同的代码。封装和抽象等概念也提供了数据隐藏。 为什么 C++ 是部分 OOP?C 语言的面向对象特性是构建 C++ 语言的主要动机。 尽管 C++ 编程语言支持 OOP 概念,包括类、对象、继承、封装、抽象和多态,但它被归类为部分面向对象编程语言。
结论总之,在阅读了本课程的 OOPs C++ 概念后,我们将对面向对象编程的必要性、C++ OOPs 是什么以及 OOPs 的基本概念,如多态、继承、封装等有所了解。除了多态和继承的示例,您还了解了 C++ OOPs 的优点。 C++ OOPs 概念选择题1. 在 OOP 中使用封装的主要优势是什么?
答案:b) 封装保护底层代码不被程序用户看到。 2. 在面向对象编程中,类代表什么?
答案:b) 一个蓝图,作为创建新对象的基础。 3. 关于 C++ 中的多态,以下哪个陈述是正确的?
答案:a) 该设计允许函数具有多种可能的执行方法 4. 以下哪个选项正确描述了继承?
答案:a) 一个类通过继承获得了另一个类的所有属性。 5. C++ 中的对象是什么?
答案:c) 类的实例 下一主题C++ 类 |
在 C++ 中,友元函数是一个非成员函数,它可以访问类的私有和保护成员。该函数使用 friend 关键字在类中声明为友元。如果我们想将一个函数声明为友元...
阅读 10 分钟
在 C++ 中,结构体是用于创建结构化对象的用户定义类型。它们允许我们将不同数据类型的变量收集到一个名称下。结构体用于轻量级对象,例如矩形、颜色、点等。在 C++ 中,结构体可以包含数据...
阅读 8 分钟
在 C++ 中,枚举 (Enum) 是一种用户定义的数据类型,包含一组固定的命名整数常量。我们可以使用 enum 关键字定义枚举。它有助于使代码更具可读性和可维护性。它可以用于星期(周日、周一、周二、...)
7 分钟阅读
在面向对象编程中,继承是最强大的概念之一。它允许一个类继承另一个类的特性和行为。重写是 C++ 编程中用于修改派生类中继承的成员函数行为的一种技术。在...
阅读 4 分钟
在 C++ 编程中,this 是一个关键字,它引用类的当前实例。类对象可以在其成员函数中使用此指针访问自身。理解 this 指针是在我们需要在面向对象结构中进行操作时的关键前提...
阅读 10 分钟
在 C++ 中,成员函数是定义在类内部并与该类的对象关联的函数。它提供对类成员的访问,并可以直接操作和修改它们。这些函数定义了对象的行为,并且可以...
11 分钟阅读
在 C++ 中,纯虚函数是在基类中声明的虚拟函数,并且必须在派生类中重写。函数声明以 = 0 结尾,这表明它不能在类主体中包含任何默认实现。...
阅读 8 分钟
C++ 提供了一些基本的数学函数,使用这些函数所需的头文件是 <math.h>。三角函数方法描述 cos(x) 计算 x 的余弦值。 sin(x) 计算 x 的正弦值。 tan(x) 计算 x 的正切值。 acos(x) 查找 x 的反余弦值。 asin(x) 查找 x 的反正弦值。 atan(x) ...
阅读 3 分钟
在 C++ 编程语言中,类和对象是导致 C++ 面向对象编程的基础构建块。它们以更有条理、可重用和可维护的方式提供代码。在 C++ 中,类充当定义对象如何构造的蓝图...
11 分钟阅读
在 C++ 中,static 是一个关键字或修饰符,属于类型而不是实例。因此,不需要实例来访问静态成员。在 C++ 中,static 可以是字段、方法、构造函数、类、属性、运算符和事件。C++ 对各种函数使用 static 关键字...
阅读9分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India