文章目录

C++ 类与对象:class 定义与实例化

发布于 2026-04-08 18:22:11 · 浏览 5 次 · 评论 0 条

C++ 类与对象:class 定义与实例化

C++ 中的“类”就像是制作产品的“模具”或“蓝图”,而“对象”则是根据这个模具生产出来的具体“产品”。理解类与对象,是掌握 C++ 面向对象编程的第一步。


1. 定义一个类

定义类就是告诉计算机这个“模具”长什么样。它包含两部分:属性(数据)和方法(行为)。

打开你的代码编辑器,新建一个名为 main.cpp 的文件。输入 class 关键字来定义一个类,后面紧跟类的名称。

假设我们要定义一个描述“矩形”的类:

  1. 声明类名:通常使用大驼峰命名法(首字母大写),例如 Rectangle
  2. 添加访问权限修饰符:使用 public(公共的),让外部代码可以访问类内部的成员。
  3. 定义成员变量:即类的属性,例如矩形的 width(宽)和 height(高)。
  4. 定义成员函数:即类的方法,例如计算面积的 getArea() 函数。

代码示例如下:

class Rectangle {
public:
    // 成员变量(属性)
    double width;
    double height;

    // 成员函数(方法)
    double getArea() {
        return width * height;
    }
};

注意:类定义的末尾必须有一个分号 ;,这是新手最容易遗漏的细节。


2. 理解访问权限:public 与 private

在 C++ 中,类的成员并不是完全开放的。为了保护数据安全,我们需要控制谁能访问它们。

查看下表,了解最常用的两种访问权限的区别:

权限关键字 类内部访问 类外部访问 常见用途
public ✅ 允许 ✅ 允许 定义对外接口(如函数)
private ✅ 允许 ❌ 禁止 保护敏感数据(如密码、核心参数)

如果将 widthheight 放在 private 下,你就不能在 main 函数中直接通过 rect.width = 10 来修改它,必须通过 public 里的函数来间接修改。


3. 实例化对象

定义好类(模具)之后,我们就可以根据它创建对象(产品)了。这个过程叫作“实例化”。

  1. 指定类名。
  2. 输入对象名称。
  3. 使用分号结束语句。

语法格式为:ClassName objectName;

继续以矩形为例:

// 根据 Rectangle 类创建一个名为 rect 的对象
Rectangle rect;

这就好比根据图纸造出了一个具体的、名为 rect 的矩形盒子。此时,rect 拥有了 widthheight 这两个变量,但它们目前的值是未知的(随机值)。


4. 访问成员与使用对象

有了对象,我们就可以操作它的属性和行为。

使用点运算符 . 来访问对象的成员。点运算符位于对象名和成员名之间。

  1. 赋值成员变量:输入 rect.width = 10.0;,将宽度设为 10。
  2. 赋值成员变量:输入 rect.height = 5.0;,将高度设为 5。
  3. 调用成员函数:输入 double area = rect.getArea();,获取面积并存储到变量中。

完整操作代码片段:

rect.width = 10.0;
rect.height = 5.0;
double area = rect.getArea();

此时,变量 area 的值就是 50.0。


5. 使用构造函数进行初始化

为了避免忘记设置宽和高,或者产生随机值,我们可以在类中定义一个“构造函数”。构造函数是一种特殊的函数,它在对象创建时自动执行,且函数名必须与类名完全相同。

修改之前的 Rectangle 类定义,添加一个构造函数:

class Rectangle {
public:
    double width;
    double height;

    // 构造函数:没有返回值,名字叫 Rectangle
    Rectangle(double w, double h) {
        width = w;
        height = h;
    }

    double getArea() {
        return width * height;
    }
};

现在,实例化对象的方式变得更加简洁和安全:

  1. 创建对象时直接传入参数。
  2. 输入 Rectangle rect(10.0, 5.0);

这行代码不仅创建了一个对象,还立刻把它的宽度初始化为 10,高度初始化为 5。


6. 完整代码演示与运行

将上述所有概念整合,形成一个完整的可运行程序。

复制以下代码到你的 main.cpp 文件中:

#include <iostream>

using namespace std;

class Rectangle {
public:
    double width;
    double height;

    // 带参数的构造函数
    Rectangle(double w, double h) {
        width = w;
        height = h;
    }

    double getArea() {
        return width * height;
    }
};

int main() {
    // 1. 实例化对象:创建 rect,并初始化宽为 10,高为 5
    Rectangle rect(10.0, 5.0);

    // 2. 访问成员变量
    cout << "矩形的宽度: " << rect.width << endl;

    // 3. 调用成员函数计算面积
    double area = rect.getArea();
    cout << "矩形的面积: " << area << endl;

    return 0;
}

保存文件并打开终端。输入编译命令:

g++ main.cpp -o main

按下回车键执行编译。如果没有报错,输入运行命令:

./main

屏幕上将输出计算结果。

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文