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

news/2024/10/21 1:51:31/

什么是类?

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博客若不理解可查看

using namespace std;
#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;}
};int main() {// 创建一个Student类的对象Student student1;// 设置学生信息student1.setInfo("Alice", 20, 1001);// 打印学生信息student1.printInfo();// 创建另一个Student类的对象Student student2;// 设置另一个学生的信息student2.setInfo("Bob", 22, 1002);// 打印另一个学生的信息student2.printInfo();return 0;
}

总结

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

共勉 💪

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

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


http://www.ppmy.cn/news/1540656.html

相关文章

【Golang】踩坑记录:make()创建引用类型,初始值是不是nil!!

文章目录 起因二、得记住的知识点1. make()切片&#xff0c;初始化了吗&#xff1f;2. make()切片不同长度容量&#xff0c;append时的差别3. 切片是指向数组的指针吗&#xff1f;4. 切片扩容时&#xff0c;重新分配内存&#xff0c;原切片的数据怎么办&#xff1f; 三、咳咳&a…

CLion和Qt 联合开发环境配置教程(Windows和Linux版)

需要安装的工具CLion 和Qt CLion下载链接 :https://www.jetbrains.com.cn/clion/ 这个软件属于直接默认安装就行&#xff0c;很简单&#xff0c;不多做介绍了 Qt:https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/ window 直接点exe Linux 先c…

http大数据post与put请求

大数据请求情况下出现post请求提交出错而put请求提交不出错 一、http方法特性差异 1、请求语义和用途不同 post通常用于 创建新资源Put一般用于更新现有资源服务器对于不同的HTTP方法可能有不同的处理逻辑和优化策略。在某些情况下&#xff0c;服务器可能对put请求的处理更加…

大厂面试提问:Flash Attention 是怎么做到又快又省显存的?

最近已有不少大厂都在秋招宣讲了&#xff0c;也有一些在 Offer 发放阶段。 节前&#xff0c;我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新手如何入门算法岗、该如何准备面试攻略、面试常考点、大模型技术趋势、算法项目落地经验分享等热门话题进行了…

Scala中的reduce

作用&#xff1a;reduce是一种集合操作&#xff0c;用于对集合中的元素进行聚合操作&#xff0c;返回一个单一的结果。它通过指定的二元操作&#xff08;即取两个元素进行操作&#xff09;对集合中所有的元素进行递归处理&#xff0c;并最终将其合并为一个值。 语法&#xff1…

在合规的地方怎么用EACO地球链兑换交换价值?

地球链EACO&#xff08;EarthChain&#xff0c;简称$E&#xff09;是一种虚拟数字资产。 目前在中国大陆&#xff0c;虚拟资产相关业务活动属于金融活动&#xff0c;包括虚拟资产的交易、兑换等操作&#xff0c;因此应该谨慎去寻求如何用它来交换价值。 虚拟资产交易炒作活动&…

LeetCode 203 - 移除链表元素

题目描述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 解题思路 创建一个虚拟头节点dummyHead&#xff0c;并将其next指向给定的头节点head&#xff0c;这样可以避免处理头节点的特…

Android 禁止App字体随系统大小而更改

运营反馈&#xff0c;老年用户的手机多设置为大字体&#xff0c;在使用我们app过程中&#xff0c;由于字体被放大&#xff0c;导致布局错乱&#xff0c;部分功能按键遮挡&#xff0c;无法正常使用。   收到问题&#xff0c;着手解决&#xff0c;除了对界面布局进行改写&#…