机智的小哥哥 2019-10-26 10:38 采纳率: 0%
浏览 253

为什么xcode写c++程序时分开实现类定义与类实现时会报错显示重复符号的错误

#ifndef Rational_h
#define Rational_h

#include
#include
#include
using namespace std;
class Rational{
private:
int a,b;
public:
Rational(int x=1,int y=1){
int c;
if(x>y) c=y;
else c=x;
for(int i=c;i>1;i--){
if(x%i==0&&y%i==0){
x/=i;
y/=i;
}
}
a=x;
b=y;
}
Rational operator+(const Rational &r) const{
return Rational(r.a*b+r.b*a,b*r.b);
}
Rational operator-(const Rational &r) const{
return Rational(a*r.b-r.a*b,b*r.b);
};
Rational operator*(const Rational &r) const{
return Rational(r.a*a,r.b*b);
};
Rational operator/(const Rational &r) const{
return Rational(a*r.b,b*r.a);
};
bool operator=(const Rational &r) const{
return (r.a==a&&r.b==b);
};
ostream &operator<<(ostream &out) const{
out< return out;
};
ostream &operator>>(ostream &out) const{
out<<a<<b;
return out;
};
string getNum(){
stringstream s1,s2;
s1<<a;
s2<<b;
return s1.str()+"/"+s2.str();
}
};

#endif /* Rational_h*/


如果在h文件里只声明,在Rational.cpp文件里实现出现符号重复的错误,现在类的实现写在h文件里就没有报错

  • 写回答

2条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真