C++ 友元函数

C++ 友元函数,第1张

C++ 友元函数 友元函数
// 
题目描述
1、定义名为:Time 的时间类,
     共有三个数据成员:时、分、秒。
      通过构造函数实现初始化。
      通过打印函数display实现成员打印。


2、定义名为:Date的日期类。
      共有三个数据成员:年、月、日。
     定义:Time 时间类的成员函数display 为Date日期类的友元函数。
     在该友元函数中实现实现对Date数据成员的打印以及实现对原Time 自身数据成员的访问。


3、输入:分两批次。
     第一次输入:时、分、秒。当时(0-24)、分(0-59)、秒(0-59)越界时,会提示“时间输入错误!!”,程序返回。
                                            当正确后,则继续第二次输入。
     第二次输入:月、天、年。当月(1-12)、天(1-31)越界时,会提示“日期输入错误!!”,程序返回。
                                            当正确后,则继续调用display 打印输出信息。

输入
11 59 59
10 20 2121
输出
2121-10-20 11:59:59
样例输入 Copy
25 59 59
样例输出 Copy
时间输入错误!!

C++代码:

// 

#include
using namespace std;

class Date;
class Time
{
public:
	Time(int h, int m, int s){
	hour = h;
	minute = m;
	second = s;
}						//声明构造函数
	void display(Date &t);
private:
	int hour;
	int minute;
	int second;
};

class Date
{
public:
	Date(int y, int m, int d){
	year = d;
	month = y;
	day = m;
}						//声明构造函数
	friend void Time::display(Date &t);
private:
	int year;
	int month;
	int day;
};

void Time::display(Date &t){
	cout << t.year << "-" << t.month << "-" << t.day << " "<>hout1>>minute1>>second1;
	if(hout1>=0&&hout1<=24&&minute1>=0&&minute1<=59&&second1>=0&&second1<=59){}else{
		cout<<"时间输入错误!!"; 
		return 0;
	}
	cin>>month1>>day1>>year1;
	if(month1>=0&&month1<=24&&day1>=0&&day1<=31){}else{
		cout<<"日期输入错误!!"; 
		return 0; 
	}
	Time t1(hout1, minute1, second1);
	Date d1(month1, day1, year1);
	t1.display(d1);
	return 0;
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5100424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存