将Date类声明为Time类的友元类
时间: 2023-11-28 08:49:14 浏览: 67
可以将Date类声明为Time类的友元类,以便在Date类中访问Time类的私有成员。下面是一个示例:
```c++
class Time;
class Date {
public:
Date(int y, int m, int d) : year(y), month(m), day(d) {}
void printTime(Time t);
private:
int year, month, day;
};
class Time {
public:
Time(int h, int m, int s) : hour(h), minute(m), second(s) {}
friend class Date; // 将Date类声明为Time类的友元类
private:
int hour, minute, second;
};
void Date::printTime(Time t) {
cout << t.hour << ":" << t.minute << ":" << t.second << endl;
}
int main() {
Time t(10, 30, 0);
Date d(2022, 1, 1);
d.printTime(t);
return 0;
}
```
在上面的示例中,Date类声明了一个名为printTime的函数,该函数接受一个Time对象作为参数,并使用该对象的私有成员hour、minute和second来输出时间。由于Date类被声明为Time类的友元类,因此可以在Date类中访问Time类的私有成员。在主函数中,我们创建了一个Time对象t和一个Date对象d,并调用d的printTime函数来输出t的时间。
阅读全文