Chinaunix首页 | 论坛 | 博客
  • 博客访问: 584619
  • 博文数量: 104
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1559
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-21 00:58
个人简介

锻炼精神,首先要锻炼肉体

文章分类

全部博文(104)

文章存档

2018年(1)

2016年(1)

2015年(101)

2014年(1)

我的朋友

分类: C/C++

2015-05-30 08:37:15

这篇文章用于记录如何在 struct 中通过重写 << 操作符来实现打印结构体中的内容.



点击(此处)折叠或打开

  1. #include <cstdio>
  2. #include <iostream>
  3. #include <string>
  4. #include <vector>

  5. using namespace std;

  6. struct node
  7. {
  8.     string name ;
  9.     int size ;
  10.     
  11.     node ( string name_ , int size_):name(name_) , size(size_)
  12.     {}

  13.     friend ostream& operator<<(ostream &os , const node & no ) ;
  14. } ;

  15. ostream &operator<< (ostream &os , const node & no )
  16. {
  17.     os<<"node name :"<<no.name<< endl ;
  18.     os<<"node size :"<<no.size<< endl ;
  19.     
  20.     return os ;
  21. }

  22. typedef vector<node> nodeList ;

  23. void print_node ( nodeList &n )
  24. {
  25.    for ( vector<node>::iterator it = n.begin() ; n.end() ; it++ )
  26.      cout << *it << endl ;
  27. }


  28. int main ( void )
  29. {
  30.     nodeList list ;
  31.     string name = "Aimer" ;
  32.     
  33.     for ( int i = 0 ; i < 10 ; i++ )
  34.         list.push_back (node( name , i) ) ;
  35.         
  36.     
  37.     print_node ( list ) ;
  38.     
  39.     return 0 ;
  40. }

end
阅读(9327) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~