当前位置:   article > 正文

友员类_flycode的语言规范

flycode的语言规范
  1. /*
  2. * 程序的版权和版本声明部分
  3. * Copyright (c)2012, 烟台大学计算机学院学生
  4. * All rightsreserved.
  5. * 文件名称: object.cpp
  6. * 作者:王飞
  7. * 完成日期: 2013年4月16 日
  8. * 版本号: v1.0
  9. * 输入描述:无
  10. * 问题描述:加深友员类的理解
  11. * 程序输出:略
  12. */
  13. #include <iostream>
  14. using namespace std;
  15. class Date; //对Date类的提前引用声明
  16. class Time
  17. {
  18. public:
  19. Time(int,int,int);
  20. void add_a_second(Date &); //增加1秒,1秒后可能会到了下一天,乃到下一月、下一年
  21. void display(Date &); //显示时间,格式:月/日/年 时:分:秒
  22. private:
  23. int hour;
  24. int minute;
  25. int sec;
  26. };
  27. class Date
  28. {
  29. public:
  30. Date(int,int,int);
  31. friend class Time; //Time定义为Date的友元类
  32. private:
  33. int month;
  34. int day;
  35. int year;
  36. };
  37. Time::Time(int h,int m,int s)
  38. {
  39. hour=h;
  40. minute=m;
  41. sec=s;
  42. }
  43. Date::Date(int m,int d,int y)
  44. {
  45. month=m;
  46. day=d;
  47. year=y;
  48. }
  49. void Time::add_a_second(Date &d)
  50. {
  51. if(++sec>=60)
  52. {
  53. ++minute;
  54. sec-=60;
  55. }
  56. if(minute>=60)
  57. {
  58. ++hour;
  59. minute-=60;
  60. }
  61. if(hour>=24)
  62. {
  63. ++d.day,hour-=24;
  64. }
  65. if(d.day>30) //每个月按照30天
  66. {
  67. ++d.month,d.day-=30;
  68. }
  69. if(d.month>12)
  70. {
  71. ++d.year,d.month-=12;
  72. }
  73. }
  74. void Time::display(Date &t)
  75. {
  76. cout<<t.year<<"/"<<t.month<<"/"<<t.day<<'\t';
  77. cout<<hour<<":"<<minute<<":"<<sec<<endl;
  78. }
  79. int main( )
  80. {
  81. Time t1(23,59,32);
  82. Date d1(12,25,2012);
  83. for(int i=0; i<=80; i++)
  84. {
  85. t1.add_a_second(d1);
  86. t1.display(d1);
  87. }
  88. return 0;
  89. }


 

输出结果:

 

心得体会:

友员类的应用,但是方式并不好,破坏了类的信息隐藏。但是这个语法要掌握!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/75786
推荐阅读
相关标签
  

闽ICP备14008679号