当前位置: 首页 > article >正文

C++ 类的基础用法与详细说明:简单易懂的入门指南

什么是类?

是C++中一种用于封装数据和功能的基本结构。你可以将类视为一种自定义的数据类型,它可以包含数据(成员变量)和操作这些数据的函数(成员函数)。

创建一个简单的类

让我们通过一个简单的例子来演示如何定义和使用一个类。我们将创建一个表示**“学生”**的类。

1. 定义类

首先,我们需要定义一个类。以下是一个名为Student的类的示例。

#include <iostream>
#include <string>

class Student {
public:
    // 成员变量
    std::string name; // 学生姓名
    int age;          // 学生年龄
    int id;           // 学生ID

    // 成员函数:设置学生信息
    void setInfo(std::string studentName, int studentAge, int studentId) {
        name = studentName; // 设置姓名
        age = studentAge;   // 设置年龄
        id = studentId;     // 设置ID
    }

    // 成员函数:打印学生信息
    void printInfo() {
        std::cout << "Name: " << name << ", Age: " << age << ", ID: " << id << std::endl;
    }
};

2. 类的结构解释

  • class Student { ... };:这行代码定义了一个名为Student的类。
  • public::这是一个访问修饰符,表示后面定义的成员可以被类外部访问。
  • 成员变量
    1. std::string name;:存储学生的姓名。
    2. int age;:存储学生的年龄。
    3. int id;:存储学生的ID。
  • 成员函数
    1. void setInfo(...):用于设置学生的姓名、年龄和ID。
    2. void printInfo():用于打印学生的详细信息

3. 创建对象

 接下来,我们需要使用这个类来创建对象。对象是类的实例。

int main() {
    // 创建一个Student类的对象
    Student student1;

    // 设置学生信息
    student1.setInfo("Alice", 20, 1001);

    // 打印学生信息
    student1.printInfo();

    // 创建另一个Student类的对象
    Student student2;

    // 设置另一个学生的信息
    student2.setInfo("Bob", 22, 1002);

    // 打印另一个学生的信息
    student2.printInfo();

    return 0;
}

4. 代码解释 

  • Student student1;:创建一个名为student1的对象,该对象是Student类的实例。
  • student1.setInfo("Alice", 20, 1001);:调用setInfo函数来设置student1的姓名、年龄和ID。
  • student1.printInfo();:调用printInfo函数来打印学生的信息。

 5. 输出

C++输⼊&&输出&&换行_c++输出时换行-CSDN博客若不理解可查看

当你运行以上代码时,输出将是:

Name: Alice, Age: 20, ID: 1001
Name: Bob, Age: 22, ID: 1002

总结

  • 是数据和功能的封装。
  • 成员变量是类中存储数据的变量。
  • 成员函数是类中定义的可以对数据进行操作的函数。
  • 对象是类的实例,你可以创建多个对象来使用同一个类。

共勉 

同为未来的it人让我们在共同进步吧。

我很喜欢雷军的一段话:我们就悄悄的干,就算失败了咱也不丢人。


http://www.kler.cn/news/353557.html

相关文章:

  • GO--结构体标签
  • 三个线程交替打印ABC
  • Java读取PDF后做知识库问答_SpringAI实现
  • Vue基础(3)
  • 区块链积分系统:重塑支付安全与商业创新的未来
  • Java知识巩固(五)
  • visio导出pdf公式变形问题杂谈
  • 如何在 cPanel 中使用 PHP-FPM
  • 推荐一个可以免费上传PDF产品图册的网站
  • 【鸟类识别系统】Python+卷积神经网络算法+人工智能+深度学习+ResNet50算法+计算机课设项目
  • 缓存区是什么
  • Vue3 使用CryptoJS加密
  • 介绍 TensorFlow 的基本概念和使用场景(AI)
  • 关于拖拽时需要注意的细节
  • 多层感知机 MLP
  • 【优选算法篇】编织算法的流动诗篇:滑动窗口的轻盈之美
  • Golang | Leetcode Golang题解之第477题汉明距离总和
  • mqtt客户端订阅一直重复连接?
  • 详解SSH和bash
  • 【Linux】嵌入式Linux系统的组成、u-boot编译