数据结构(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)。



posted on 2014-03-26 15:49  guozqzzu  阅读(1097)  评论(0编辑  收藏  举报