第7周任务3:友元类
2013-04-17 20:16
239 查看
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: 1.cpp * 作者:李慧慧 * 完成日期: 2013年 4 月 17 日 * 版本号: v1.0 * 输入描述:无 * 问题描述: * 程序输出: */ #include<iostream> using namespace std; class Date; //对Date类的提前引用声明 class Time { public: Time(int,int,int); void add_a_second(Date &); //增加1秒,1秒后可能会到了下一天,乃到下一月、下一年 void display(Date &); //显示时间,格式:月/日/年 时:分:秒 private: int hour; int minute; int sec; }; class Date { public: Date(int,int,int); friend class Time; //Time为Date的友元类 private: int month; int day; int year; }; int main( ) { Time t1(23,59,32); Date d1(12,25,2012); for(int i=0; i<=80; i++) { t1.add_a_second(d1); t1.display(d1); } return 0; } //下面定义两个类中的成员函数,要求不得再增加成员函数 //注意体会在Time的成员函数中可以调用Date类的私有数据成员 Date::Date(int m,int d,int y) { month=m; day=d; year=y; } Time::Time(int h,int m,int s) { hour=h; minute=m; sec=s; } void Time::add_a_second(Date &a)//增加1秒,1秒后可能会到了下一天,乃到下一月、下一年 { sec+=1; if(sec==60){ minute+=1; sec=0; } if(minute==60){ hour+=1; minute=0; } if(hour==24){ a.day+=1; hour=0; } if(a.day>30){ a.month+=1; a.day=1; } if(a.month>12){ a.year+=1; a.month=1; } } void Time::display(Date &a)//显示时间,格式:月/日/年 时:分:秒 { cout<<a.year<<":"<<a.month<<":"<<a.day<<":" <<hour<<":"<<minute<<":"<<sec<<endl; }
运行结果:
相关文章推荐
- 第7周任务3:友元类
- 第7周任务3:友元类
- 第7周任务2-星号扩展
- C++第7周任务2-四数中的最大
- 第7周,项目3,友元类
- C03-Java同步实践加强班第7周上机任务
- 第7周任务1-求两数正差值
- C++第7周任务1-求两数正差值
- C03-Java同步实践加强班第7周上机任务
- 第7周任务1-求两数正差值 两种方法
- C++第7周任务1-求两数正差值
- 第7周任务3-用星号图体验循环结构(一)
- 第7周任务3
- 第7周任务1:静态成员应用
- 第7周任务1:静态成员的应用
- C03-Java同步实践加强班第7周上机任务
- 第7周任务1-求两数正差值
- 第7周任务2-求四个整数中的最大值
- C++第7周任务1-求两数正差值
- 第7周任务3-用星号图体验循环结构(二)自选图案(a)(b)