第七周上机实践项目-项目二-友元类
来源:互联网 发布:淘宝账号怎样注销 编辑:程序博客网 时间:2024/05/12 12:31
/* *Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:刘涛 *完成日期:2016年4月11 *版 本 号:v1.0 * *问题描述:友元类 */#include<iostream>using namespace std;class Date; //对Date类的提前引用声明class Time{public: Time(int h,int m,int s):hour(h),minute(m),sec(s){} void add_a_second(Date &); //增加1秒,1秒后可能会到了下一天,乃到下一月、下一年 void display(Date &); //显示时间,格式:月/日/年 时:分:秒private: int hour; int minute; int sec;};class Date{public: Date(int mon,int da,int ye):month(mon),day(da),year(ye){} friend class Time; //Time为Date的友元类private: int month; int day; int year;};void Time::add_a_second(Date &a){ sec+=1; if(sec>60) { minute+=sec/60; sec=sec-60; if(minute>60) { hour+=minute/60; minute=minute-60; if(hour>=24) { hour=hour-24; a.day++; if(a.day>=31) { a.month++; a.day=1; if(a.month>=12) { a.month=1; a.year++; } } } } }}void Time::display(Date &b){ cout<<b.year<<"."<<b.month<<"."<<b.day<<" "<<hour<<":"<<minute<<":"<<sec<<endl;}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;}
运行及结果:
<img src="http://img.blog.csdn.net/20160411204300654?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
知识点总结:友元类的应用,以及年月日和小时分钟秒的控制
学习心得:<pre name="code" class="cpp">.两个类之间是单独的友元关系,不能互相,再此题中,在Date类中声明Time类,只能在Time类中用Date类的数据成员。
0 0
- 第七周上机实践项目-项目二-友元类
- 第七周上机实践项目2:友元类
- 第七周上机实践项目
- 第七周上机实践项目——项目2-友元类
- 第七周上机实践项目 项目2-友元类
- C++程序设计-第七周上机实践项目
- 第七周上机实践项目 用户图形界面
- 数据结构上机实践第七周项目1
- 数据结构上机实践第七周项目2
- 数据结构上机实践第七周项目3
- 数据结构上机实践第七周项目4
- 数据结构上机实践第七周项目1
- 数据结构上机实践第七周项目2
- 数据结构上机实践第七周项目3
- 第七周上机实践项目——友元类
- 第七周上机任务项目二
- 第十周上机实践项目二
- 第七周上机实践项目——求并联阻值
- 1020
- Problem H: C语言实验——整数位
- YYImage详解
- Hibernate ORM映射多对一
- 【NOIP2015模拟11.2】复制&粘贴2
- 第七周上机实践项目-项目二-友元类
- 2016.4.11 最近看书遇到的几个问题的总结
- 第二章笔记
- 在VS2013中配置OpenCL开发 环境
- java线程同步锁
- python 的拷贝、深度拷贝及内存管理
- YYWebImage
- 百度地图获取手机屏幕坐标
- JavaScript 项目实战工具类