7-3 友元类
来源:互联网 发布:淘宝企业店铺公司介绍 编辑:程序博客网 时间:2024/06/04 18:59
/** 程序的版权和版本声明部分* Copyright (c)2012, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: object.cpp* 作者:王心垚* 完成日期: 2013年4月16 日* 版本号: 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;};Time::Time(int h,int m,int s){ hour=h; minute=m; sec=s;}Date::Date(int m,int d,int y){ month=m; day=d; year=y;}void Time::add_a_second(Date &d){ if(++sec>=60) { ++minute; sec-=60; } if(minute>=60) { ++hour; minute-=60; } if(hour>=24) { ++d.day,hour-=24; } if(d.day>30) //每个月按照30天 { ++d.month,d.day-=30; } if(d.month>12) { ++d.year,d.month-=12; }}void Time::display(Date &t){ cout<<t.year<<"/"<<t.month<<"/"<<t.day<<'\t'; cout<<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;}
运行结果:
- 7-3 友元类
- C++第7周项目3 - 友元类
- 第7周,项目3,友元类
- 第7周任务3:友元类
- 第7周任务3:友元类
- 第7周任务3:友元类
- 第7周项目3友元类
- 7-4友元类
- 【项目3-友元类】
- 项目3-友元类
- 项目3-友元类
- 第七周3友元类
- 第七周项目3:友元类
- 第七周项目3:友元类
- 第7周项目三-友元类
- 第7周项目2友元类
- 第7周-项目2-友元类
- 第7周项目2:友元类
- 显示命令
- STM32学习笔记——GPIO之从库函数到寄存器
- JavaScript秘密花园 - scope, namespace, constructor, equality and comparisons
- (转载)展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- 7-3 友元类
- 认识android
- 多个常见代码设计缺陷
- 表操作
- JavaScript 学习
- ZOJ 1005 Jugs
- 字段类型介绍
- NYIST 15 括号匹配(二) 动态规划
- Java编程中“为了性能”尽量要做的几点