年、月、日),一个构造函数,一个display函数用以输出出生日期;设计类person,含有两个保护数据成员(name和gender),一个构造函数,一个display函数用以输出姓名和性别。在person类中嵌套time和date类,用以表示一个人的出生日期和出生时间,并在display函数中输出完整的出生日期和时间。
时间: 2023-06-09 15:03:10 浏览: 124
好的,您的问题是如何设计一个类来表示人的出生日期和出生时间,并在display函数中输出完整的出生日期和时间。
首先,我们需要设计一个类来表示日期,包括年、月、日。这个类可以叫做date,包含三个私有数据成员:year(年)、month(月)、day(日)。我们可以使用构造函数来初始化这些数据成员。
接下来,我们需要设计一个类来表示时间,包括小时、分钟和秒。这个类可以叫做time,包含三个私有数据成员:hour(小时)、minute(分钟)和second(秒)。我们也可以使用构造函数来初始化这些数据成员。
最后,我们需要设计一个类来表示一个人,包括姓名、性别、出生日期和出生时间。这个类可以叫做person,包含四个私有数据成员:name(姓名)、gender(性别)、birthday(出生日期)和birthtime(出生时间)。在person类中嵌套time和date类,用以表示一个人的出生日期和出生时间。
我们可以使用构造函数来初始化这些数据成员,并使用display函数来输出完整的出生日期和时间,该函数可以访问类中的私有数据成员。最终代码如下:
```c++
#include <iostream>
using namespace std;
class date {
private:
int year, month, day;
public:
date(int y, int m, int d): year(y), month(m), day(d) {}
void display() {
cout << year << "-" << month << "-" << day;
}
};
class time {
private:
int hour, minute, second;
public:
time(int h, int m, int s): hour(h), minute(m), second(s) {}
void display() {
cout << hour << ":" << minute << ":" << second;
}
};
class person {
private:
string name;
string gender;
date birthday;
time birthtime;
public:
person(string n, string g, date b, time t): name(n), gender(g), birthday(b), birthtime(t) {}
void display() {
cout << "姓名:" << name << endl;
cout << "性别:" << gender << endl;
cout << "出生日期:" ;
birthday.display();
cout << " 出生时间:";
birthtime.display();
cout << endl;
}
};
int main() {
date d(1990, 1, 1);
time t(0, 0, 0);
person p("张三", "男", d, t);
p.display();
return 0;
}
```
阅读全文