补1,实验6.3
来源:互联网 发布:c语言switch语句例子 编辑:程序博客网 时间:2024/06/15 10:56
项目3:友元类
定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好)
#include <iostream>using namespace std;class Date;class Time{public: Time(int i,int j,int k) { hour=i;minute=j;sec=k; } void add_a_second(Date &); void display(Date &); // 显示时间private: int hour; int minute; int sec;};class Date{public: Date(int i=0,int j=0,int k=0) { month=i; day=j; year=k; } friend class Time;private: int month; int day; int year;};int main(){ Time t1(23,59,32); Date d1(2,28,2013); for(int i=0;i<=100;i++) { t1.add_a_second(d1); t1.display(d1); } return 0;}void Time::add_a_second(Date &d1){ if(sec<59) { sec++; } else if(sec==59) { sec=0; if(minute<59) { minute++; } else if(minute==59) { minute=0; if(hour<23) { hour++; } else if(hour==23) { hour=0; if(d1.day<28) { d1.day++; } else if(d1.month==2) { if(d1.day<28) d1.day++; else { d1.day=1; d1.month++; } } else if(d1.month==1 && d1.month==3 && d1.month==5 && d1.month==7 && d1.month==8 && d1.month==10) { if(d1.day<31) d1.day++; else { d1.day=1; d1.month++; } } else if(d1.month==4 && d1.month==6 && d1.month==9 && d1.month==11) { if(d1.day<30) d1.day++; else { d1.day=1; d1.month++; } } else if(d1.month==12) { if(d1.day<31) d1.day++; else { d1.day=1; d1.month=1; d1.year+=1; } } } } }}void Time::display(Date &d1){ cout<<d1.month<<"\\"<<d1.day<<"\\"<<d1.year<<"\t"<<hour<<":"<<minute<<":"<<sec<<endl;}
运行结果1
运行结果2
0 0
- 补1,实验6.3
- 补做实验1
- 补实验1
- c++补做实验1
- c++补做实验1
- 补c++上机实验报告1
- 补实验2
- 补做实验二
- c++--补第二次实验
- 补第一次c++实验
- 实验补做
- 实验补做
- 补第二次c++实验
- C++补第一次实验
- 补C++第二次实验
- 补2,实验5.5
- 补3,实验5.4
- 补c++第二次实验
- 云计算openstack笔记--网络拓扑创建笔记
- 重载与重写
- NDK探究之旅《二》——C语言的基本认识
- 安卓AlertDialog进阶使用实现日期选择、单选、多选。
- POJ 1051 P,MTHBGWB 笔记
- 补1,实验6.3
- Spring AOP详解
- CentOS7中安装NFS
- BigInteger类,BigDecimal类,超大数字的运算与精度
- 《Angular2项目之目录结构》
- JS变动事件
- 软件测试管理
- centos7下安装配置javaweb环境
- Spring WebFlow(二)