C++中结构体
C++中结构体并不是C中的结构体了
C++的结构体更像是一种特殊的类
他与类一样 可以有public private protect三种类型的变量和函数
但是默认为public属性(类里是默认为private)
结构体是一种特殊形态的类
与类的唯一区别:类的缺省访问权限是private,结构体的缺省访问权限是public
结构体存在的主要原因:与C语言保持兼容
什么时候用结构体而不用类
定义主要用来保存数据、而没有什么操作的类型
人们习惯将结构体的数据成员设为公有,因此这时用结构体更方便
结构体的定义
struct 结构体名称 {
公有成员
protected:
保护型成员
private:
私有成员
};
结构体的初始化
如果一个结构体的全部数据成员都是公共成员,并且没有用户定义的构造函数,没有基类和虚函数(基类和虚函数将在后面的章节中介绍),这个结构体的变量可以用下面的语法形式赋初值
类型名 变量名 = { 成员数据1初值, 成员数据2初值, …… };
#include#include#includeusing 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;
}
运行结果:
Num: 97001
Name: Lin Lin
Sex: F
Age: 19