数据结构(Data structures)(三):结构体嵌套
Nesting structures
结构体可以嵌套(nested)使用,即一个结构体本身又可以是另一个结构体中的类型。例如:
struct movies_t { string title; int year; };
struct friends_t { string name; string email; movies_t favorite_movie; //结构类型为movies_t的元素favorite_movie又可以是friends_t结构类型的属性 } charlie, maria; friends_t * pfriends = &charlie;
在有以上声明之后,我们可以使用下面的表达式:
charlie.name;
maria.favorite_movie.title;
charlie.favorite_movie.year;
pfriends->favorite_movie.year;
都是有效的。且最后两个表达式是等价的。
这里所讨论的结构的概念与C语言中结构的概念是一样的。但在C++中,结构体的概念已经被扩展到与类(class)相同的程度,只是它所有的元素成员(members)都是公开的(public)。