第七周3友元类
2013-04-17 20:34
211 查看
/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: object.cpp
* 作者:王俊
* 完成日期: 2013年 4 月 17日
* 版本号: v1.0
* 输入描述:无
* 问题描述:Time为Date的友元类
* 程序输出:略。
*/
代码输出:
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: object.cpp
* 作者:王俊
* 完成日期: 2013年 4 月 17日
* 版本号: v1.0
* 输入描述:无
* 问题描述:Time为Date的友元类
* 程序输出:略。
*/
代码输出:
#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 a,int b,int c):hour(a),minute(b),sec(c){} Date::Date(int m,int n,int z):month(m),day(n),year(z){} void Time::add_a_second(Date &d) //增加1秒,1秒后可能会到了下一天,乃到下一月、下一年 { sec+=1; if(sec>=60){ minute+=1; sec-=60; if(minute>59) { hour+=1; minute-=60; if(hour>23) { hour-=24; d.day+=1; if(d.day>29) { d.day-=30; d.month+=1; if(d.month>12) { d.month-=12; d.year+=1; } } } } } } void Time::display(Date &d) //显示时间,格式:月/日/年 时:分:秒 { cout<<d.month<<'/'<<d.day<<'/'<<d.year<<'\t'<<hour<<':'<<minute<<':'<<sec<<endl; } 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; }运行结果:
相关文章推荐
- 第七周3
- 纹理滤波方式、光源:Jeff Molofee(NeHe) 的 OPENGL 教程-第七课
- javascript编程起步(第七课)
- C#教程第七课:类的入门
- Silverlight教程第七部分: 使用控件模板定制控件的观感
- 第七部分 DB2使用命令编目远程数据库至本地
- 第七课 java i/o 操作
- 第七课 模糊查询实体对象
- 友元函数和友元类
- 完美的C++面向对象之友元类,静态成员函数
- jQuery 学习第七课 扩展jQuery的功能 插件开发
- 友元类
- C和指针:第七,八章
- Android第七课——单选框,复选框,弹出框等控件操作
- C++总结 友元类和友元函数(转)
- WebGL 第七课 中文翻译
- Cheat Engine Tutorial 闯关手记 第七关
- 友元实例:友元类及友元函数
- Java第七课 Java的多线程程序进程和线程的概念,实现多线程的两种方式,线程同步的原理,线程的死锁,运用wait和notify来实现producer - consumer关系,线程终止的两种情况。
- 《新日语基础教程》学习笔记——第七课