#include<iostream> #include<math.h> using namespace std; class Date{ public: Date (){ int y,m,d; year=y; month=m; day=d; } float display(); private: int year; int month; int day; }; float Date::display(){ int a,b,c; a=year+1; b=month+1; c=day+1; return a,b,c; } int main(){ Date p1; int y,m,d,a,b,c; cout<<"请输入一个日期:"<<endl; cin>>y>>m>>d; p1.display(); cout<<"已经过了"<<a<<"年"<<b<<"月"<<c<<"天"; return 0; }此代码运行结果有误,请帮忙改正
时间: 2024-02-25 21:52:42 浏览: 77
#include <iostream> #include<iomanip> using namespace std;九九乘法表
这段代码存在以下问题:
1.类的构造函数中没有初始化年月日的值,需要在构造函数中进行初始化。
2.display函数的返回值不是一个元素,需要修改为返回一个数组或者使用引用参数传递。
3.在主函数中没有调用display函数并且没有将输入的日期赋值给类的年月日属性。
以下是修改后的代码:
```
#include<iostream>
#include<math.h>
using namespace std;
class Date{
public:
Date (int y, int m, int d){
year=y;
month=m;
day=d;
}
void display(int& a, int& b, int& c);
private:
int year;
int month;
int day;
};
void Date::display(int& a, int& b, int& c){
a = year + 1;
b = month + 1;
c = day + 1;
}
int main(){
int y,m,d,a,b,c;
cout<<"请输入一个日期:"<<endl;
cin>>y>>m>>d;
Date p1(y,m,d);
p1.display(a,b,c);
cout<<"已经过了"<<a<<"年"<<b<<"月"<<c<<"天";
return 0;
}
```
现在,这段代码应该可以正确输出已经过了多少年月日了。
阅读全文