此C ++代码是将对象作为参数传递但它无法正常工作的示例。有人可以指出问题吗?当我在main
中声明对象时会出现问题。错误说:
预计错误;。
这是我的代码
#include<iostream>
#include<conio.h>
#include<iomanip>
using namespace std;
class time
{
int hours;
int minutes;
public:
void gettime(int h, int m)
{
hours = h;
minutes = m;
}
void puttime(void)
{
cout << hours << " hours and ";
cout << minutes << " minutes ";
}
void sum(time, time);
};
void time::sum(time t1, time t2)
{
minutes = t1.minutes + t2.minutes;
hours = minutes / 60;
minutes = minutes % 60;
hours = hours + t1.hours + t2.hours;
}
int main()
{
time t1, t2, t3;
t1.gettime(2, 45);
t2.gettime(3, 30);
t3.sum(t1, t2);
cout << "T1= "; t1.puttime();
cout << "T2= "; t2.puttime();
cout << "T3 = "; t3.puttime();
system("pause");
return 0;
}
答案 0 :(得分:1)
改变这个:
time t1, t2, t3;
对此:
class time t1, t2, t3;
因为您的系统上的其他内容可能使用了time
。如果这样可以解决问题,请将class time
重命名为尚未使用的其他内容。
答案 1 :(得分:1)
标准库中有一个名为time的实体。只需将其重命名为it would work即可。不使用using namespace std;
也无济于事,因为time
在全局名称中也是按照C兼容性定义的