设为首页 加入收藏

TOP

4.2.1 Hero's Inventory 2.0程序简介
2013-10-07 14:45:17 来源: 作者: 【 】 浏览:52
Tags:4.2.1 Hero' Inventory 2.0 程序 简介

4.2.1  Hero's Inventory 2.0程序简介

从用户的角度看,Hero's Inventory 2.0程序与它的前身、第3章中的Hero's Inventory程序很相似。新版程序存储和使用string对象集合来表示主人公的物品栏。然而,从程序员的角度出发,两个程序迥然不同。原因在于,新程序使用向量而不是数组来表示物品栏。该程序的结果如图4-1所示。

 
图4-1  这一次主人公的物品栏用向量表示
从Course Technology网站(www.courseptr.com/downloads)或本书合作网站(http://www. tupwk.com.cn/downpage)上可以下载该程序的代码。程序位于Chapter 4文件夹中,文件名为heros_inventory2.cpp。

  1. // Hero's Inventory 2.0  
  2. // Demonstrates vectors  
  3. #include <iostream> 
  4. #include <string> 
  5. #include <vector> 
  6. using namespace std;  
  7. int main()  
  8. {  
  9. vector<string> inventory;  
  10. inventory.push_back("sword");  
  11. inventory.push_back("armor");  
  12. inventory.push_back("shield");  
  13. cout << "You have " << inventory.size() << " items.\n";  
  14. cout << "\nYour items:\n";  
  15. for (unsigned int i = 0; i < inventory.size(); ++i)  
  16. {  
  17. cout << inventory[i] << endl;  
  18. }  
  19. cout << "\nYou trade your sword for a battle axe.";  
  20. inventory[0] = "battle axe";  
  21. cout << "\nYour items:\n";  
  22. for (unsigned int i = 0; i < inventory.size(); ++i)  
  23. {  
  24. cout << inventory[i] << endl;  
  25. }  
  26. cout << "\nThe item name '" << inventory[0] << "’ has ";  
  27. cout << inventory[0].size() << " letters in it.\n";  
  28. cout << "\nYour shield is destroyed in a fierce battle.";  
  29. inventory.pop_back();  
  30. cout << "\nYour items:\n";  
  31. for (unsigned int i = 0; i < inventory.size(); ++i)  
  32. {  
  33. cout << inventory[i] << endl;  
  34. }  
  35. cout << "\nYou were robbed of all of your possessions by a thief.";  
  36. inventory.clear();  
  37. if (inventory.empty())  
  38. {  
  39. cout << "\nYou have nothing.\n";  
  40. }  
  41. else  
  42. {  
  43. cout << "\nYou have at least one item.\n";  
  44. }  
  45. return 0;  
  46. }  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.2 使用vector 下一篇4.2.4 使用push_back()成员函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: