C++:写一个Datetime类,公有继承自Time类,新增属性年月日,包含成员函数:1)构造函数;2)对年月日的Get和Set函数;3)显示时间的show函数。
时间: 2023-06-09 21:04:36 浏览: 51
好的,我理解您的问题了。以下是您要求的Datetime类的代码示例:
```
#include <iostream>
using namespace std;
class Time {
private:
int hour;
int minute;
int second;
public:
Time(int hour, int minute, int second): hour(hour), minute(minute), second(second) {}
int getHour() { return hour; }
int getMinute() { return minute; }
int getSecond() { return second; }
void setHour(int hour) { this->hour = hour; }
void setMinute(int minute) { this->minute = minute; }
void setSecond(int second) { this->second = second; }
void show() { cout << hour << ":" << minute << ":" << second << endl; }
};
class Datetime: public Time {
private:
int year;
int month;
int day;
public:
Datetime(int year, int month, int day, int hour, int minute, int second): Time(hour, minute, second), year(year), month(month), day(day) {}
int getYear() { return year; }
int getMonth() { return month; }
int getDay() { return day; }
void setYear(int year) { this->year = year; }
void setMonth(int month) { this->month = month; }
void setDay(int day) { this->day = day; }
void show() { cout << year << "/" << month << "/" << day << " "; Time::show(); }
};
int main() {
Datetime dt(2021, 8, 30, 10, 30, 0);
dt.show();
dt.setYear(2022);
dt.setMonth(1);
dt.setDay(1);
dt.setHour(0);
dt.setMinute(0);
dt.setSecond(0);
dt.show();
return 0;
}
```
Datetime类公有继承自Time类,新增了年月日属性,并实现了对应的Get和Set函数以及显示时间的show函数。Datetime类的构造函数可以接受6个参数,分别为年月日时分秒,通过调用父类Time的构造函数来初始化时分秒属性。show函数还覆盖了父类Time的show函数,用于同时显示日期和时间信息。在主函数中创建了一个Datetime实例并测试了部分函数的调用。