C++类与对象入门:定义一个简单的类

类与对象的概念

想象一下,你想造一个“机器人”来帮你处理日常事务。这个机器人需要有自己的“身体特征”(比如名字、电量)和“行为能力”(比如走路、说话)。在编程里,我们把这些“身体特征”称为成员变量(属性),把“行为能力”称为成员函数(方法)。而“机器人”本身,就是我们要讨论的“类”的一个“实例”——也就是对象

简单说,是对一类事物的抽象描述,定义了这个事物有什么(属性)和能做什么(行为);对象是根据这个描述具体创建出来的“个体”。在C++中,我们用class关键字来定义类,然后通过这个类创建对象,使用类里的成员变量和成员函数。

C++中类的定义语法

定义一个类的基本格式如下:

class 类名 {
    // 成员变量(属性):描述对象的特征,通常设为private(私有),保证安全性
private:
    数据类型 变量名1;
    数据类型 变量名2;
    // ... 其他成员变量

    // 成员函数(方法):描述对象的行为,通常设为public(公有),供外部调用
public:
    // 成员函数的声明,比如设置变量、获取变量、执行行为等
    返回类型 函数名1(参数列表) {
        // 函数体:具体实现行为
    }
    返回类型 函数名2(参数列表) {
        // ...
    }
    // ... 其他成员函数
};
  • class关键字:用于声明一个类。
  • privatepublic:是访问权限修饰符。private成员只能在类内部被访问,public成员可以被类外部的代码直接访问。
  • 分号:类定义的末尾必须有分号,这是语法要求。

定义一个简单的“学生”类

我们来定义一个“学生”类,让它包含基本的学生信息和行为。

步骤1:定义类的结构

假设学生有两个核心属性:姓名(name)和学号(id),以及两个行为:学习(study)和自我介绍(introduce)。

class Student {
private:  // 私有成员:外部不能直接访问,保证数据安全
    string name;  // 姓名(字符串类型)
    int id;       // 学号(整数类型)

public:   // 公有成员:外部可以直接调用的函数
    // 设置姓名的函数(参数:要设置的姓名)
    void setName(string n) {
        name = n;  // 将参数赋值给成员变量name
    }

    // 获取姓名的函数(返回值:当前姓名)
    string getName() {
        return name;  // 返回成员变量name的值
    }

    // 设置学号的函数(参数:要设置的学号)
    void setId(int i) {
        id = i;  // 将参数赋值给成员变量id
    }

    // 自我介绍函数:输出学生的姓名和学号
    void introduce() {
        cout << "大家好!我叫" << name << ",学号是" << id << "。" << endl;
    }

    // 学习函数:输出学生正在学习的信息
    void study() {
        cout << name << "正在努力学习C++!" << endl;
    }
};

创建对象并使用类

定义完类后,我们需要创建对象(即具体的学生实例),并通过对象调用类的成员函数。

步骤2:在main函数中使用Student类

#include <iostream>
#include <string>  // 因为用了string类型,需要包含这个头文件
using namespace std;  // 简化代码,不用写std::

int main() {
    // 1. 创建一个Student类的对象,命名为stu1
    Student stu1;

    // 2. 设置学生的姓名和学号(通过public成员函数)
    stu1.setName("张三");  // 调用setName函数,传入姓名
    stu1.setId(2023001);  // 调用setId函数,传入学号

    // 3. 调用成员函数
    stu1.introduce();  // 输出自我介绍
    stu1.study();      // 输出学习信息

    return 0;
}

运行结果

编译并运行上述代码,你会看到输出:

大家好!我叫张三,学号是2023001。
张三正在努力学习C++!

关键知识点总结

  1. 类的定义:用class关键字,包含私有成员变量(private)和公有成员函数(public)。
  2. 对象创建类名 对象名;(如Student stu1;)。
  3. 成员访问:对象通过对象名.成员函数名()调用公有函数(如stu1.study()),成员变量通过set/get函数间接访问(如stu1.setName())。
  4. 封装思想:成员变量设为private,仅通过public函数访问,避免外部直接修改数据,保证数据安全性。

通过这个简单的例子,你已经掌握了C++类与对象的基础:如何定义类、创建对象、调用成员函数。后续可以尝试扩展类的功能(比如添加年龄、成绩等属性,或更多行为),深入学习封装、继承等概念。

小夜