1.结构体简介
2.结构体的使用
3.结构体与类的区别
1.结构体简介
结构体(struct)是C++中用户自定义的复合数据类型, 它允许你将不同类型的变量(比如int、string、double等)组合成一个
新的、有意义的整体; 可以把它理解为一个"自定义数据包", 用来封装一组相关联的数据(比如学生的学号、姓名、成绩)
2.结构体的使用
1).结构体的定义, "注意末尾分号不能省略"
struct 结构体名称 {
数据类型 成员名1;
数据类型 成员名2;
};
#include <iostream>
#include <string>
using namespace std;
struct Student {
int id;
string name;
double score;
};
2).结构体的基本使用
a.先定义后赋值
int main() {
Student stu1;
stu1.id = 1001;
stu1.name = "张三";
stu1.score = 95.5;
cout << "学号:" << stu1.id << endl;
cout << "姓名:" << stu1.name << endl;
cout << "成绩:" << stu1.score << endl;
return 0;
}
b.定义时直接初始化(C++11 及以上)
int main() {
Student stu2 = {1002, "李四", 88.0};
cout << "学号:" << stu2.id << endl;
cout << "姓名:" << stu2.name << endl;
cout << "成绩:" << stu2.score << endl;
return 0;
}
c.指定成员初始化
int main() {
Student stu3 = {
.id = 1003,
.name = "王五",
.score = 92.8
};
cout << "学号:" << stu3.id << endl;
cout << "姓名:" << stu3.name << endl;
cout << "成绩:" << stu3.score << endl;
return 0;
}
3.结构体与类的区别
C++中的struct不再只是"数据打包", 而是具备类(class)的大部分特性, 核心区别仅在于:
a.struct的成员默认访问权限是public
b.class的成员默认访问权限是private