结构体[1]
结构体这种数据结构在C语言中就有,C++继承了结构体这种数据结构,实际上在C++中它的结构体已经不是当初C语言中的那个结构体了,C++的结构体是一种特殊的类。
- 结构体是一种特殊形态的类
- 与类的唯一区别:类的缺省访问权限是private,结构体的缺省访问权限是public
- 结构体存在的主要原因:与C语言保持兼容
- 什么时候用结构体而不用类
- 定义主要用来保存数据、而没有什么操作的类型
- 人们习惯将结构体的数据成员设为公有,因此这时用结构体更方便
结构体的定义
struct 结构体名称 {
公有成员
protected:
保护型成员
private:
私有成员
};
结构体的初始化
- 如果一个结构体的全部数据成员都是公共成员,并且没有用户定义的构造函数,没有基类和虚函数(基类和虚函数将在后面的章节中介绍),这个结构体的变量可以用下面的语法形式赋初值
类型名 变量名 = { 成员数据1初值, 成员数据2初值, …… };
例4-7用结构体表示学生的基本信息
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
struct Student { //学生信息结构体
int num; //学号
string name; //姓名,字符串对象,将在第6章详细介绍
char sex; //性别
int age; //年龄
};
int main() {
Student stu = { 97001, "Lin Lin", 'F', 19 };
cout << "Num: " << stu.num << endl;
cout << "Name: " << stu.name << endl;
cout << "Sex: " << stu.sex << endl;
cout << "Age: " << stu.age << endl;
return 0;
}
参考
- ^http://www.xuetangx.com/courses/course-v1:TsinghuaX+00740043X_2015_T2+sp/courseware/81f9b7e20c9c4850b29ccb249c5ed366/9e54bfbd6351490b91a3e0cc5b427d7f/