1、设计实现一个时间类,满足以下要求: a. 时间类中有3个私有数据成员(hour,minute,second)和两个公有成员函数(settime和print_time)。settime根据传递的3个参数为对象设置时间;print_time负责将对象表示的时间显示输出。在主函数中,建立一个时间类的对象,设置时间为9点20分30秒并显示该时间; b. 使用构造函数初始化对象,并在主函数中使用构造函数设置时间为10点40分50秒,并显示该时间; c. 重载时间类的构造函数(不带参数)使小时、分、秒均为0; d. 在时间类的析构函数中输出“goodbye!”; e. 定义复制构造函数; f. 设计一个主函数来测试以上功能。
时间: 2023-06-07 14:10:18 浏览: 129
抱歉,我可以回答您的问题。
以下是对应的代码实现:
#include<iostream>
using namespace std;
class Time {
private:
int hour; //小时
int minute; //分钟
int second; //秒钟
public:
Time(int h, int m, int s); //构造函数
Time(); //重载构造函数
~Time(); //析构函数
Time(const Time& t); //复制构造函数
void settime(int h, int m, int s); //设置时间
void print_time(); //输出时间
};
//构造函数,用于初始化
Time::Time(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
//重载构造函数,小时、分、秒均为0
Time::Time() {
hour = 0;
minute = 0;
second = 0;
}
//析构函数,用于输出信息
Time::~Time() {
cout << "Goodbye!" << endl;
}
//复制构造函数
Time::Time(const Time& t) {
hour = t.hour;
minute = t.minute;
second = t.second;
}
//设置时间
void Time::settime(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
//输出时间
void Time::print_time() {
cout << "当前时间:" << hour << ":" << minute << ":" << second << endl;
}
int main() {
//方式一:使用自定义的构造函数初始化对象,并设置时间
Time t1(9, 20, 30);
t1.print_time();
//方式二:使用重载构造函数初始化对象,并设置时间
Time t2;
t2.settime(10, 40, 50);
t2.print_time();
//复制构造函数
Time t3(t2);
t3.print_time();
return 0;
}
阅读全文