C++高手来 error LNK2001 ................

来源:百度知道 编辑:UC知道 时间:2024/06/11 23:28:24
#include<iostream.h>
#include<math.h>
class fraction
{
private:
int above;
int below;
void reduction();
void makeCommond(fraction &);
public:
fraction(int a=0,int b=1);
fraction add(fraction);
fraction sub(fraction);
fraction mul(fraction);
fraction div(fraction);
fraction reciprocal();
bool equal(fraction);
bool greaterThan(fraction);
bool lessThan(fraction);
void display();
void input();
};

void fraction::reduction()
{
int a, b, temp;
if(below<0)
{
above=-above;
below=-below;
}
a=abs(above);
b=abs(below);
while(a%b)
{
temp=a;
a=b;
b=temp%b;
}
above/=b;
below/=b;
}
void fraction::makeCommond(fraction &b)
{
int temp;
reduction();
b.reduction();

没实现就是只有声明,没有函数的二进制码(从你的代码编译的或者是从外面导进来的)。简单点说,你没有写这个函数体,或者是写了但是没加到工程里面,也不是从外面导进来的。

fraction(int a=0,int b=1);
这个没实现

你的构造函数只有声明没有实现过程啊,就是具体的函数定义,这个函数是怎么产生作用的