第七周项目2—友元类
来源:互联网 发布:php 设置水印图片大小 编辑:程序博客网 时间:2024/06/02 01:41
问题及代码:
/*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:郝昱猛 *完成日期:2016年4月21日 **问题描述:定义两个类的成员函数,将两个类合并为一个Date Time。 */#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;};Time::Time(int h,int m,int s):hour(h),minute(m),sec(s) {}Date::Date(int mo,int d,int y):month(mo),day(d),year(y) {}void Time::display(Date &d){ cout<<hour<<":"<<minute<<":"<<sec<<endl; cout<<d.year<<"/"<<d.month<<"/"<<d.day<<endl;}void Time::add_a_second(Date &t){ sec++; if(sec>=60) { minute+=sec/60; sec%=60; if(minute>=60) { hour+=minute/60; minute%=60; if(hour>=24) { t.day+=hour/24; hour%=24; switch(t.month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(t.day>31) { t.month+=t.day/31; t.day%=31; } case 2: if((t.year%100!=0&&t.year%4==0)||t.year%400==0) { if(t.day>29) { t.month+=t.day/29; t.day%=29; } } else { t.month+=t.day/28; t.day%=28; if(t.month>12) { t.year+=t.month/12; t.month%=12; } } case 4: case 6: case 9: case 11: if(t.day>30) { t.month+=t.day/30; t.day%=30; } if(t.month>12) { t.year+=t.month/12; t.month%=12; } } } } }}int main( ){ Time t1(23,59,58); Date d1(2,28,2013); for(int i=0; i<=100; i++) { t1.add_a_second(d1); t1.display(d1); } return 0;}
运行结果:
0 0
- 第七周项目2——友元类
- 第七周项目2—友元类
- 第七周项目2—友元类
- 第七周 项目2 友元类
- 第七周项目2友元类
- 第七周【项目2-友元类】
- 第七周项目2-友元类
- 第七周项目2-友元类
- 第七周上机实践项目——项目2-友元类
- 第七周项目 友元类
- 第七周项目:友元类
- 第七周项目2
- 第七周项目2
- 第七周项目2
- 第七周项目2
- 第七周 项目2
- 第七周 【项目2
- 第七周项目2
- bzoj3745: [Coci2015]Norma
- c++作业4
- 第八周【项目1 - 数组作数据成员1】
- 第七周项目1—两点间的距离—成员函数、友元函数和一般函数
- CSS position属性和实例应用
- 第七周项目2—友元类
- 第五周项目一设计三角形类的构造函数
- 第四周项目三猜数字游戏
- 第七周项目3—用多文件组织多个类的程序
- 【hdu 5527】 [2015ACM/ICPC亚洲区长春站] Too Rich 贪心
- 第五周项目三游戏中的角色类(重发)
- CopyOnWriteArrayList 源码分析
- 《网络工程师》 Part7 下一代互联网
- 第七周上机实践项目 项目1-成员函数,友元函数,和一般函数的区别(1)