30 结构体与类的基本概念

C++完整教程

在上一篇中,我们讨论了结构体的定义与使用,以及如何在C++中使用结构体来封装数据。在本篇中,我们将进一步探讨这一重要概念,并了解结构体与类的关系、相似之处和不同之处,让我们从基本的、最核心的知识点开始。

类的基本概念

(Class)是面向对象编程中的一个基本概念,它可以看作是一个模板,用来创建对象(instance)。在C++中,类是一个用户定义的类型,其封装了数据和操作这些数据的函数(方法)。简单来说,类是对现实世界事物的抽象,可以让我们更好地组织和管理代码。

类的定义

在C++中,类的定义使用class关键字,语法如下:

1
2
3
4
5
6
7
8
9
10
class ClassName {
public:
// 公有成员
DataType memberVariable; // 成员变量
void memberFunction() { // 成员函数
// 函数体
}
private:
// 私有成员
};

例子:创建一个简单的类

下面是一个简单的类的示例,表示一个汽车(Car)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>

class Car {
public:
// 成员变量
std::string make; // 品牌
std::string model; // 型号
int year; // 年份

// 成员函数
void displayInfo() {
std::cout << "汽车品牌: " << make << ", 型号: " << model << ", 年份: " << year << std::endl;
}
};

在这个示例中,Car类定义了三个成员变量:makemodelyear,以及一个成员函数displayInfo用来输出汽车的信息。

类与结构体的区别

在C++中,结构体有相似之处,但也有显著的区别:

  • 默认访问控制:在类中,成员默认是私有的(private),而在结构体中,成员默认是公有的(public)。
  • 继承方式:类的继承默认是私有的,而结构体的继承默认是公有的。
  • 用途:通常情况下,结构体用于数据封装,类用于更复杂的逻辑或行为。
1
2
3
4
5
6
7
8
9
10
11
12
13
struct Person {
std::string name; // 公有成员
int age; // 公有成员
};

class Animal {
private:
std::string species; // 私有成员
public:
void setSpecies(std::string s) {
species = s;
}
};

实例化一个类

类被定义后,我们可以创建对象(实例)来使用它。通过类名和构造函数来实例化一个对象。

1
2
3
4
5
6
7
8
9
10
11
12
int main() {
// 实例化一个Car类的对象
Car myCar;
myCar.make = "Toyota";
myCar.model = "Corolla";
myCar.year = 2020;

// 调用成员函数
myCar.displayInfo();

return 0;
}

在上面的代码中,我们创建了一个Car类的对象myCar,并设置了一些属性,然后调用了displayInfo方法来输出汽车的信息。

小结

在本部分中,我们简要介绍了的概念、定义、与结构体的区别,以及如何实例化和使用类。类是C++面向对象编程的基础,理解类的概念对我们继续学习C++非常重要。下一篇中,我们将深入探讨类中的构造函数析构函数,这些函数是对象生命周期中极为重要的部分。


欢迎继续关注下一篇教程,深入探索构造函数与析构函数的奥秘。

30 结构体与类的基本概念

https://zglg.work/c-plusplus-zero/30/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-24

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论