早教吧作业答案频道 -->其他-->
运算符重载构造一个分数类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...的网友还看了以下:
中国清朝数学家李善兰在1859年翻译《代数学》中首次将“function”译做:“函数”,沿用至今 2020-05-16 …
● 信息系统安全管理体系中,数据安全的目标不包括(64) 。(64)A.防止数据丢失B.防止数据崩溃 2020-05-26 …
● 信息系统安全管理体系中,数据安全的目标不包括() 。()A.防止数据丢失 B.防止数据崩溃C.防 2020-05-26 …
( )不属于数字签名的主要功能。 A.保证信息传输的完整性 B.防止数据在传输过程中被窃取C. 实现 2020-05-26 …
消防方面的计算题有一条F300mm的环状消防管道,管道常压不低于20×104pa,若火场上每辆消防 2020-07-18 …
当今世界并不太平,局部战争、国家动乱、恐怖活动等威胁世界的和平与发展。作为中国坚持走和平发展道路,奉 2020-11-23 …
“严防”是防止、防备的意思.你觉得句子中“严防”能换成“防止”吗?为什么?(别挤啦阅读) 2020-11-26 …
计算机网络课题14.在通信网中,流量控制的目的是为了防止数据丢失,保证()A.发送能力小于接收能力B 2020-11-28 …
如图歼-15是我国第一代航空母舰载战斗机,于今年11月3日上午成功起飞,其具有自我攻防能力突出,飞行 2020-12-13 …
歼-15是中国第一代舰载战斗机,自我攻防能力突出,飞行速度快,能轻易避开敌方雷达,数秒内探测、发现并 2020-12-13 …