早教吧作业答案频道 -->其他-->
运算符重载构造一个分数类rationalNumber,该类中包括分子和分母两个成员数据,并具有下述功能:建立构造函数,它能防止分母为零,当分数不是最简形式时进行约分,并避免分母为负数重
题目详情
运算符重载
构造一个分数类rationalNumber,该类中包括分子和分母两个成员数据,并具有下述功能:
建立构造函数,它能防止分母为零,当分数不是最简形式时进行约分,并避免分母为负数
重载加法、减法、乘法以及除法运算符。
重载关系运算符:>、
构造一个分数类rationalNumber,该类中包括分子和分母两个成员数据,并具有下述功能:
建立构造函数,它能防止分母为零,当分数不是最简形式时进行约分,并避免分母为负数
重载加法、减法、乘法以及除法运算符。
重载关系运算符:>、
▼优质解答
答案和解析
#include
using namespace std;
class rationalNumber{
private:
int a,b;
public:
rationalNumber(){}
rationalNumber(int m,int n){
if(m>0){
a=m;
b=n;
}
}
void display(){
cout< }
friend rationalNumber operator +(rationalNumber r1,rationalNumber r2);
friend rationalNumber operator -(rationalNumber r1,rationalNumber r2);
friend rationalNumber operator *(rationalNumber r1,rationalNumber r2);
friend rationalNumber operator /(rationalNumber r1,rationalNumber r2);
friend rationalNumber operator >(rationalNumber r1,rationalNumber r2);
friend rationalNumber operator friend rationalNumber operator ==(rationalNumber r1,rationalNumber r2);
};
rationalNumber operator +(rationalNumber r1,rationalNumber r2){
rationalNumber r;
r.a=r1.a*r2.a;
r.b=(r1.b*r2.a)+(r2.b*r1.a);
cout< }
rationalNumber operator -(rationalNumber r1,rationalNumber r2){
rationalNumber r;
r.a=r1.a*r2.a;
r.b=(r1.b*r2.a)-(r2.b*r1.a);
cout< }
rationalNumber operator *(rationalNumber r1,rationalNumber r2){
rationalNumber r;
r.a=r1.a*r2.a;
r.b=r1.b*r2.b;
cout< }
rationalNumber operator /(rationalNumber r1,rationalNumber r2){
rationalNumber r;
r.a=r1.a*r2.b;
r.b=r1.b*r2.a;
cout< }
rationalNumber operator >(rationalNumber r1,rationalNumber r2){
if((r1.b*r2.a)>(r1.a*r2.b)){
cout< }
else{
cout< }
}
rationalNumber operator if((r1.b*r2.a) cout< }
else{
cout< }
}
rationalNumber operator ==(rationalNumber r1,rationalNumber r2){
if((r1.b*r2.a)==(r1.a*r2.b)){
cout< }
}
void main()
{
int a,b;
cout< cin>>a;
cout< cin>>b;
rationalNumber r1(a,b);
r1.display();
int aa,bb;
cout< cin>>aa;
cout< cin>>bb;
rationalNumber r2(aa,bb);
r2.display();
operator +(r1,r2);
operator -(r1,r2);
operator *(r1,r2);
operator /(r1,r2);
operator >(r1,r2);
operator operator ==(r1,r2);
}
using namespace std;
class rationalNumber{
private:
int a,b;
public:
rationalNumber(){}
rationalNumber(int m,int n){
if(m>0){
a=m;
b=n;
}
}
void display(){
cout< }
friend rationalNumber operator +(rationalNumber r1,rationalNumber r2);
friend rationalNumber operator -(rationalNumber r1,rationalNumber r2);
friend rationalNumber operator *(rationalNumber r1,rationalNumber r2);
friend rationalNumber operator /(rationalNumber r1,rationalNumber r2);
friend rationalNumber operator >(rationalNumber r1,rationalNumber r2);
friend rationalNumber operator friend rationalNumber operator ==(rationalNumber r1,rationalNumber r2);
};
rationalNumber operator +(rationalNumber r1,rationalNumber r2){
rationalNumber r;
r.a=r1.a*r2.a;
r.b=(r1.b*r2.a)+(r2.b*r1.a);
cout<
rationalNumber operator -(rationalNumber r1,rationalNumber r2){
rationalNumber r;
r.a=r1.a*r2.a;
r.b=(r1.b*r2.a)-(r2.b*r1.a);
cout<
rationalNumber operator *(rationalNumber r1,rationalNumber r2){
rationalNumber r;
r.a=r1.a*r2.a;
r.b=r1.b*r2.b;
cout<
rationalNumber operator /(rationalNumber r1,rationalNumber r2){
rationalNumber r;
r.a=r1.a*r2.b;
r.b=r1.b*r2.a;
cout<
rationalNumber operator >(rationalNumber r1,rationalNumber r2){
if((r1.b*r2.a)>(r1.a*r2.b)){
cout< }
else{
cout< }
}
rationalNumber operator if((r1.b*r2.a) cout< }
else{
cout< }
}
rationalNumber operator ==(rationalNumber r1,rationalNumber r2){
if((r1.b*r2.a)==(r1.a*r2.b)){
cout< }
}
void main()
{
int a,b;
cout< cin>>a;
cout< cin>>b;
rationalNumber r1(a,b);
r1.display();
int aa,bb;
cout< cin>>aa;
cout< cin>>bb;
rationalNumber r2(aa,bb);
r2.display();
operator +(r1,r2);
operator -(r1,r2);
operator *(r1,r2);
operator /(r1,r2);
operator >(r1,r2);
operator operator ==(r1,r2);
}
看了 运算符重载构造一个分数类ra...的网友还看了以下:
长方体无盖容积为4800m^3深为3m池底1m^2造价为150元池壁1m^2为120元最低总造价为 2020-05-16 …
设 i、j、k 为类 x 中定义的 int 型变量名,下列类 x 的构造函数中不正确的是( )设 2020-05-16 …
建造一个容积为8立方米.深为2米的长方体蓄水池,池壁的造价每平方米1O0元,池底造价为每平米30O 2020-05-17 …
ORDBMS提供类型构造器,用于构造复杂对象的数据类型。主要的类型构造器为:组合(记录)、【】、引用 2020-05-23 …
传说女娲用泥土仿照自己创造了人,创造了人类社会。又替人类建立了婚姻制度,使青年男女相互婚配,繁衍后 2020-07-16 …
要建造一个容积为1200立方米,深为6米的长方体无盖蓄水池,池壁的造价为95元每平方米,池底造价为 2020-07-17 …
能够造成人类与环境对立的人类活动有[]A.为提高粮食生产,发展“能量密集型”农业B.油菜种植范围的“ 2020-12-01 …
1970年4月24日,我国第一颗人造地球卫星“东方红一号”发射成功,拉开了中国人探索宇宙奥秘、和平利 2020-12-05 …
建筑物一个容积为80立方米,深为6米的长方体蓄水池,池壁每平方米的造价为2000元每立方米,池底每平 2021-01-19 …
建筑一个容积为8000立方米,深为6米的长方体蓄水池,池壁的造价为a元每立方米,池底的造价为2a每立 2021-01-19 …