C++:多继承习题4
题目内容:
首先构建一个Date(日期)类,其中包含年、月、日三个数据成员;其次构建一个Time(时间)类,其中包含时、分、秒三个数据成员。最后构建一个Datetime子类,要求日期类和时间类都是该类的父类,并且这个子类中有显示年月日时分秒的一个showtime()成员函数。在主函数中将这个类实例化,并显示出日期与时间。
输出样例如图:
代码如下:
#include<iostream>
using namespace std;
class Date
{
protected:
int Year, Month, Day;
public:
Date(int y = 0, int m = 0, int d = 0) : Year(y), Month(m), Day(d) {}
void SetDate(int y, int m, int d)
{
Year = y;
Month = m;
Day = d;
}
};
class Time
{
protected:
int Hour, Minute, Second;
public:
Time(int h = 0, int m = 0, int s = 0) : Hour(h), Minute(m), Second(s) {}
void SetTime(int h, int m, int s) {
Hour = h;
Minute = m;
Second = s;
}
};
class Datetime : public Date, public Time
{
public:
Datetime(int y = 0, int m = 0, int d = 0, int h = 0, int min = 0, int s = 0)
: Date(y, m, d), Time(h, min, s) {}
void showtime()
{
cout << "Year : " << Year << endl << "Month : " << Month << endl << "Day : " << Day << endl;
cout << "Hour : " << Hour << endl << "Minute : " << Minute << endl << "Second : " << Second << endl;
}
};
int main()
{
Datetime datetime(2024, 5, 29, 5, 20, 4);
datetime.showtime();
}
这段 C++ 代码定义了三个类:Date
、Time
和 Datetime
,并在 main
函数中创建 Datetime
类的对象来展示日期和时间信息。下面是对代码的详细解释:
1. Date类的定义
- 成员变量:
Year
、Month
、Day
:分别表示年、月、日,使用protected
访问修饰符,意味着这些成员可以在类本身和派生类中访问。- 构造函数:
Date(int y = 0, int m = 0, int d = 0)
:带有默认参数的构造函数,用于初始化Year
、Month
和Day
。- 成员函数:
SetDate(int y, int m, int d)
:用于设置日期的年、月、日。2. Time类的定义
- 成员变量:
Hour
、Minute
、Second
:分别表示小时、分钟、秒,使用protected
访问修饰符。- 构造函数:
Time(int h = 0, int m = 0, int s = 0)
:带有默认参数的构造函数,用于初始化Hour
、Minute
和Second
。- 成员函数:
SetTime(int h, int m, int s)
:用于设置时间的小时、分钟、秒。3. Datetime类的定义
- 继承关系:
class Datetime : public Date, public Time
:Datetime
类从Date
类和Time
类进行公共继承,这意味着Datetime
类可以访问Date
和Time
类的protected
和public
成员。- 构造函数:
Datetime(int y = 0, int m = 0, int d = 0, int h = 0, int min = 0, int s = 0)
:调用Date
和Time
类的构造函数来初始化从它们继承的成员。- 成员函数:
showtime()
:用于输出日期和时间的信息,包括年、月、日、小时、分钟和秒。4. main函数
- 创建
Datetime
类的对象datetime
,并使用构造函数初始化日期为 2024 年 5 月 29 日,时间为 5 时 20 分 4 秒。- 调用
showtime()
函数输出日期和时间信息。这段代码通过继承实现了日期和时间的组合,将
Date
类和Time
类的功能集成到Datetime
类中,并且提供了显示日期和时间信息的功能。
觉得有帮助就给博主点个关注叭~~
有问题的可以私信或者在评论区一起交流
友友们一起加油叭QAQ