C++ 类 & 对象

· 约 9 分钟读完 · 第 24 / 43 章

在本章中,我们将深入探讨C++中的类与对象。类是面向对象编程的核心概念之一,它允许我们创建自定义数据类型,这些数据类型可以封装数据和行为。

类的定义

定义一个简单的类

在C++中,类的定义通常包含数据成员(也称为属性或字段)和成员函数(也称为方法)。下面是一个简单的类定义示例:

成员访问权限

在上述示例中,width 和 height 被声明为私有(private),这意味着它们只能从类的内部访问。而成员函数 set_values 和 area 则被声明为公有(public),这样它们可以从类的外部访问。

创建对象

使用类创建对象

定义了一个类之后,我们可以使用该类来创建对象。创建对象的过程称为实例化。下面是如何创建 Rectangle 类的对象并调用其成员函数的示例:

在这个例子中,我们首先创建了一个名为 rect 的 Rectangle 类型的对象,然后通过这个对象调用了 set_values 函数,并计算了矩形的面积。

构造函数

定义构造函数

构造函数是一种特殊的成员函数,它在创建新对象时自动调用。构造函数通常用于初始化对象的状态。构造函数的名字必须与类名相同,并且没有返回类型。

使用构造函数创建对象

构造函数使对象的创建更加简洁明了:

析构函数

定义析构函数

析构函数也是一种特殊的成员函数,它在对象生命周期结束时被调用。析构函数通常用于释放资源。析构函数的名字必须与类名相同,并且前面加上波浪线 ~,并且没有参数和返回类型。

析构函数的作用

析构函数的主要用途是在对象销毁时执行一些清理操作,例如释放分配的内存或其他资源。

成员函数

成员函数的定义

成员函数是类的一部分,它们可以直接访问类的数据成员。成员函数可以在类定义体内定义,也可以在类定义体外定义。

静态成员函数

静态成员函数是属于类而不是对象的函数。它们可以通过类名直接调用,而不需要创建类的实例。

静态成员变量

静态成员变量是所有对象共享的变量。它们只在类中定义一次,并且在类的所有对象之间共享。

友元函数

定义友元函数

友元函数是一种非成员函数,它可以访问类的私有和保护成员。友元函数需要通过在类定义中声明来指定。

友元类

友元类也是一种特殊的关系,它允许一个类访问另一个类的私有和保护成员。

继承

定义基类和派生类

继承允许我们创建一个新的类,这个新的类继承了现有类的特性。这种关系被称为“is-a”关系。继承的基本语法如下:

多态性

多态性是指同一个接口可以有不同的实现方式。C++通过虚函数支持多态性。虚函数允许我们在基类中定义一个函数,并在派生类中重写这个函数。

抽象类

抽象类的概念

抽象类是一种不能实例化的类,它通常包含一个或多个纯虚函数。纯虚函数是没有具体实现的虚函数,它们的存在使得类成为抽象类。

抽象类的使用

抽象类主要用于定义接口,子类必须提供纯虚函数的具体实现。

以上是关于C++类与对象的详细教程。希望这些内容能帮助你更好地理解和掌握C++面向对象编程的基本概念和技巧。