刚学的,求各位指教
这是header files 文件class Fraction
{
private:
int a;
int b;
int Fraction::divisor(int p,int q);
public:
Fraction();
Fraction(int a,int b);
Fraction(Fraction &c);
void set(int a,int b);
void show();
Fraction add(Fraction b);
Fraction sub(Fraction b);
Fraction mul(Fraction b);
Fraction div(Fraction b);
void fas();
};
这是source files文件
#include"iostream"
#include"fraction.h"
using namespace std;
Fraction::Fraction()
{
a=0;
b=1;
}
Fraction:: Fraction(int a,int b)
{
set(a,b);
}
Fraction:: Fraction(Fraction &c)
{
a=c.a;
b=c.b;
}
void Fraction::set(int a,int b)
{
this->a=a;
this->b=b;
}
void Fraction::show()
{
cout<<a<<"/"<<b;
}
Fraction Fraction::add(Fraction u)//加法
{
int tmp;
Fraction v;
v.a=a*u.b+b*u.a;
v.b=b*u.b;
fas(a,b);
return v;
}
Fraction Fraction::sub(Fraction u)//减法
{int tmp;
Fraction v;
v.a=a*u.b-b*u.a;
v.b=b*u.b;
fas(a,b);
return v;
}
Fraction Fraction::mul(Fraction u)//乘法
{
int tmp;
Fraction v;
v.a=a*u.a;
v.b=b*u.b;
fas(a,b);
return v;
}
Fraction Fraction::div(Fraction u)//除法
{ int tmp;
Fraction v;
v.a=a*u.b;
v.b=b*u.a;
fas(a,b);
return v;
}
int Fraction::divisor(int p,int q)//计算公约数
{
int r;
if(p<q)
{
int tmp;
tmp=p;
p=q;
q=tmp;
}
r=p%q;
while(r!=0)
{
p=q;
q=r;
r=p%q;
}
return q;
}
void fas(a,b)
{
int tmp;
tmp=divisor(a,b);
a=a/tmp;
b=b/tmp;
}
还有个main函数,那个没问题的,我就不发了。问题是最后一个函数fas的编写和调用可能错了,但是我看不出来。请各位指教
这是显示的错误信息
c++\jk181042\fraction.cpp(35) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(44) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(54) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(65) : error C2660: 'fas' : function does not take 2 parameters
D:\c++\jk181042\fraction.cpp(88) : error C2065: 'a' : undeclared identifier
D:\c++\jk181042\fraction.cpp(88) : error C2065: 'b' : undeclared identifier
D:\c++\jk181042\fraction.cpp(89) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
执行 cl.exe 时出错.
fraction.obj - 1 error(s), 0 warning(s)