早教吧作业答案频道 -->其他-->
运算符重载构造一个分数类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...的网友还看了以下:
一个圆环形.大圆是字母R.小圆是字母r.求环形的面积是PAI的.要代数式的用字母表示数的 2020-05-22 …
4个互不相同的单位分数,其中两个分母是奇数,两个分母是偶数,且分母是奇数的两个分数之和等于分母是偶 2020-06-02 …
分数的分母相同,分子数大,这个分数就大,分数的分子相同,分母数小,这个分数就大,还可以用分子数除以 2020-06-08 …
胡萝卜色素是一种常用的食物色素,可分别从胡萝卜或产胡萝卜素的微生物菌体中提取获得,流程如下:酵母菌 2020-07-11 …
Ⅰ胡萝卜素是一种常用的食用色素,可分别从胡萝卜或产胡萝卜素的微生物菌体中提取.流程图为某同学利用酵 2020-07-11 …
求∫dx/(r^2+x^2)^(3/2),符号和式子的解释:^代表乘方号.∫代表积分号.r^2就是 2020-07-30 …
为什么有些函数不能积分,求大侠帮忙算一下看能不能积?(R^2-x^2)^(1/2)*(r^2-x^ 2020-08-02 …
一道简单但我不会做的积分题分子根号下a平方减r平方,分母d-r,a与d为常数,对r积分,请高手给思 2020-08-02 …
一些关于离散数学的问题.===DANCERS这个词求1A,N两字母相连的形式总数2RS只被一个字母分 2020-12-25 …
如图,已知R是E的因数,且图中的五个字母分别表示3、4、6、12、24五个数.E表示的数是C表示的数 2021-02-09 …