项目2-有元类
2016-04-14 08:57
169 查看
/*
*Copyright (c) 2014,烟台大学计算机学院
*All right reserved.
*文件名称:test.cpp
*作 者:韩双志
*完成日期:2016年4月14日
*版本号:v1.0
*
*问题描述:定义下面两个类的成员函数(将两个类的合并为一个DateTime,日期,时间都处理好)
*输入描述:无;
*输出描述:输出时间,输出100次,并输出每一次都增加一秒;
*/
#include <iostream>
#include<math.h>
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;
};
class Date
{
public:
Date(int,int,int);
friend class Time;
private:
int month;
int day;
int year;
};
Time::Time(int a,int b,int c):hour(a),minute(b),sec(c){}
Date::Date(int a,int b,int c):year(c),month(a),day(b){}
void Time::display(Date &a)
{
cout<<a.month<<"/"<<a.day<<"/"<<a.year<<" "<<hour<<":"<<minute<<":"<<sec<<endl;
}
void Time::add_a_second(Date &a)
{
sec=sec+1;
if(sec>60)
{
minute=minute+1;
sec=sec%60;
}
if(minute>60)
{
hour=hour+1;
minute=minute%60;
}
if(hour>24)
{
a.day=a.day+1;
a.month=a.month+1;
}
if(a.month>12)
{
a.year=a.year+1;
a.month=a.month%12;
}
}
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;
}
运行结果:
知识点总结:
有元类
学习心得:
学会了有元类
/*
*Copyright (c) 2014,烟台大学计算机学院
*All right reserved.
*文件名称:test.cpp
*作 者:韩双志
*完成日期:2016年4月14日
*版本号:v1.0
*
*问题描述:定义下面两个类的成员函数(将两个类的合并为一个DateTime,日期,时间都处理好)
*输入描述:无;
*输出描述:输出时间,输出100次,并输出每一次都增加一秒;
*/
#include <iostream>
#include<math.h>
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;
};
class Date
{
public:
Date(int,int,int);
friend class Time;
private:
int month;
int day;
int year;
};
Time::Time(int a,int b,int c):hour(a),minute(b),sec(c){}
Date::Date(int a,int b,int c):year(c),month(a),day(b){}
void Time::display(Date &a)
{
cout<<a.month<<"/"<<a.day<<"/"<<a.year<<" "<<hour<<":"<<minute<<":"<<sec<<endl;
}
void Time::add_a_second(Date &a)
{
sec=sec+1;
if(sec>60)
{
minute=minute+1;
sec=sec%60;
}
if(minute>60)
{
hour=hour+1;
minute=minute%60;
}
if(hour>24)
{
a.day=a.day+1;
a.month=a.month+1;
}
if(a.month>12)
{
a.year=a.year+1;
a.month=a.month%12;
}
}
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;
}
运行结果:
知识点总结:
有元类
学习心得:
学会了有元类
相关文章推荐
- 45倍加速Spark的处理效率?!
- de_bruijn序列的一些补充
- c语言中的未定义行为
- Android系统介绍与框架
- 【chgrp】修改文件属组
- 【chage】修改账号或密码的有效期限
- 模拟实现字符串操作函数(strcpy,strstr,strcat,strcmp,strlen)与内存操作函数(memcpy,memmove)
- Maven3--基本配置--01
- Effective STL 条款8
- 【groupadd】 创建组
- 【gpasswd】给组加密码
- iOS之AFN文件上传(4)
- 问题:iis配置json;结果:如何配置iis支持.json格式的文件
- 【Android】Intent的显式隐式用法
- StreamDM:基于Spark Streaming、支持在线学习的流式分析算法引擎
- 【passwd】修改用户密码
- 【openssl】 生成加密密码
- 【id】查看用户的账号属性信息
- 【groupmod】修改组 的相关信息
- 053(十六)