结构体嵌套
#include <iostream>
#include <string>
using namespace std;
/*
结构体嵌套
结构体的成员类型也可以是一个结构体
有两种形式:
形式一:两个独立的结构里,其中一个结构体成员类型是一个结构体
形式二:在结构体里定义一个结构体
*/
// 形式一:两个独立的结构里,其中一个结构体成员类型是一个结构体
struct Student{
string name;
};
struct Teacher{
int num;
Student stu; //stu类型是一个Student结构体类型
};
// 形式二:在结构体里嵌套一个结构体,里面的结构体只能在本结构体里使用,不能在外部使用
struct Teacher2{
// 在里面先定义结构体
struct Student2{
string name;
};
int num;
Student2 stu; //使用里面定义的结构体类型
};
int main() {
// 形式一:
// 方式一:声明变量t1时初始化
Teacher t1 = {1,{"张三"}};
// 方式二:声明变量t2后逐个赋值
Teacher t2;
t2.num = 2;
t2.stu.name = "张三"; //获取 嵌套的成员也是用 .
// 形式二定义变量
Teacher2 t3 = {1,{"张三"}};
cout<<t3.num<<endl;
cout<<t3.stu.name<<endl;
Teacher2 t4;
t4.num = 1;
t4.stu.name = "张三";
return 0;
}