C++实现在类中使用友元函数输出提交作业当天的日期和时间
时间: 2024-02-20 21:02:13 浏览: 91
可以使用C++标准库中的ctime来实现。具体实现如下:
```cpp
#include <iostream>
#include <ctime>
using namespace std;
class Date {
friend void printDate(const Date& d);
private:
time_t t;
struct tm* now;
public:
Date() {
t = time(0);
now = localtime(&t);
}
};
void printDate(const Date& d) {
cout << "Today's date is: " << d.now->tm_year + 1900 << '-'
<< d.now->tm_mon + 1 << '-' << d.now->tm_mday << endl;
cout << "Current time is: " << d.now->tm_hour << ':'
<< d.now->tm_min << ':' << d.now->tm_sec << endl;
}
int main() {
Date d;
printDate(d);
return 0;
}
```
在上面的代码中,我们定义了一个类Date,其中包含了一个time_t类型的变量t和一个指向tm结构体的指针now。在类的构造函数中,我们使用time函数获取当前时间,并将其转换为tm结构体,然后将指针now指向它。同时,我们将printDate函数声明为Date类的友元函数,使得它可以访问Date类的私有成员。
在printDate函数中,我们使用now指针来获取当前的年、月、日、时、分、秒,并将它们输出。最后,在main函数中,我们创建了一个Date对象d,并将其传递给printDate函数来输出当前日期和时间。
阅读全文