C++走向远洋——35(友元,时间)
来源:互联网 发布:无学网络 编辑:程序博客网 时间:2024/04/30 09:28
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:time.cpp * 作者:常轩 * 微信公众号:Worldhello * 完成日期:2016年4月12日 * 版本号:V1.4 * 问题描述: * 程序输入:无 * 程序输出:见运行结果 */#include <iostream>using namespace std;class Date;class Time{ public: Time(int,int,int); void add_a_second(Date &); void display(Date &); private: int hour; int minute; int sec;};Time::Time(int a,int b,int c){ hour=a; minute=b; sec=c;}class Date{ public: Date(int,int,int); friend class Time; private: int month; int day; int year;};Date::Date(int m,int d,int y){ month=m; day=d; year=y;}int main(){ Time t1(23,59,32); Date d1(12,31,2013); for(int i=0;i<=100;i++) { t1.add_a_second(d1); t1.display(d1); } return 0;}int days(int x,int y);void Time::add_a_second(Date &p){ sec++; if(sec>59) { sec=0; minute++; if(minute>59) { hour++; minute=0; } if(hour>23) { p.day++; hour=0; } if(p.day>days(p.month,p.year)) { p.month++; p.day=1; } if(p.month>12) { p.year++; p.month=1; } }}void Time::display(Date &p){ cout<<p.year<<"年"<<p.month<<"月"<<p.day<<"日"; cout<<hour<<":"<<minute<<":"<<sec<<endl;}int days(int x,int y){ int d[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; if((y%4==0&&y%100!=0)||(y%400==0)) d[2]=29; return d[x];}
运行结果:
心得:
虽然过程很坎坷,但是最终还是做出来了
0 0
- C++走向远洋——35(友元,时间)
- C++走向远洋——34(友元函数,成员函数和一般函数的区别)
- C++走向远洋——27(项目三,时间类)
- C++走向远洋——28(项目三,时间类,2)
- C++走向远洋——49(项目一2、复数类中的运算符重载、类的友元函数)
- C++走向远洋——29(长方柱类)
- C++走向远洋——37(工资类,2)
- C++走向远洋——67(项目二、洗牌)
- C++走向远洋——68(十六周、文件)
- C++走向远洋——20(项目一,三角形,类)
- C++走向远洋——21(项目一,三角形,类)
- C++走向远洋——22(项目一,三角形,类)
- C++走向远洋——23(项目一,三角形,类)
- C++走向远洋——24(项目一,三角形,复制构造函数)
- C++走向远洋——25(项目二,游戏类)
- C++走向远洋——26(项目二,2,构造函数与析构函数)
- C++走向远洋——30(六周,项目一1.0)
- C++走向远洋——31(六周,项目一,1.1)
- 获取ios版本号
- 序列化
- 搭建x5页面框架的6个步骤
- 抛开医院玩移动医疗或互联网医疗是自己作死
- 硬盘的读写原理
- C++走向远洋——35(友元,时间)
- 第6周项目4-静态成员应用
- eclipse提交项目到github
- python 牛顿迭代小游戏
- jboss规则引擎KIE Drools 6.3.0 Final 教程(2)
- 源码剖析sun.misc.Unsafe && Compare And Swap(CAS)操作
- linux下安装nginx
- 第五周项目一(1)-三角形类雏形
- 算法#02--斐波那契Fibonacci数列算法优化