#include <iostream> using namespace std; class Date; class Time {public: Time(int,int,int); void display(Date&); private: int hour; int minute; int sec; }; class Date {public: Date(int,int,int); friend void display(Date & d); private: int month; int day; int year; }; Time::Time(int h,int m,int s) {hour=h; minute=m; sec=s; } Date::Date(int m,int d,int y) {month=m; day=d; year=y; } void Time::display(Date &d) {cout<<d.month<<'.'<<d.day<<','<<d.year<<endl; cout<<hour<<':'<<minute<<':'<<sec<<endl;} int main() {Time t1(10,13,56); Date d1(12,25,2004); t1.display(d1); return 0; }这个程序哪里有问题
时间: 2024-03-31 13:38:55 浏览: 34
这个程序没有明显的语法错误,但是在调用 `t1.display(d1)` 函数时,应该将参数类型改为 `Date&`,而不是 `Time&`。因为 `display()` 函数是在 `Time` 类中定义的,需要传入一个 `Date` 类型的对象来显示日期,所以应该修改为 `void display(Date&);`,并在调用时传入 `Date` 类型的对象。
阅读全文