飞行祥瑞有哪些:C++程序(类与对象)

来源:百度文库 编辑:神马品牌网 时间:2024/05/11 00:25:39
题目是编写成员函数实现加减乘除,编译时候出现了6个错误,请高手解答..

#include "iostream.h"
class Number
{
private:
int x,y;
public:
int addition();
int subtration();
int multiplication();
int division();
Number(int,int);
~Number();
};
Number::Number(int a,int b)
{
cout<<"构造函数调用"<<endl;
x=a;
y=b;
}
int Number::addition()
{
return x+y;
}
int Number::subtration()
{
return x-y;
}
int Number::multiplication()
{
return x*y;
}
int Number::division()
{
return x/y;
}
Number::~Number()
{
cout<<"析构函数调用"<<endl;
}
void main()
{
int a,b;
Number num;
cout<<"Input two number a and b :";
cin>>a>>b;
num(a,b);
num.addition()
num.subtration()
num.multiplication()
num.division()
}

Number num;
*
对象调用构造函数的时候出错。
上面的调用是这种情况: num.Number();
而类定义中定义为了Number(int,int);故找不到合适的构造函数。

解决方法:
方法1.在类中添加构造函数(函数重载)
Number(){};

方法2.定义对象的时候,用Number num(a, b);

--P.S
如果你没有定义Number(int,int)构造函数的话,编译程序将默认跟你的类添加一个构造函数Number(){},但是有定义过的构造函数,编译程序将不会添加了。
所以定义了自己的构造函数的话,一定记得添加一个Number(){};

cout<<"Input two number a and b :";
cin>>a>>b;
Number num(a,b);
num.addition();
num.subtration();
num.multiplication();
num.division();

构造函数不是那样用的

你为什么不把报错的信息发上来

少分号