请大家帮我看看我的错误在哪
刚学习c++,我重载了*运算符,同时要用到在构造函数中比较大小的功能但是不知道怎么实现,请大家帮我看看我错在哪里
#include<iostream>
using namespace std;
class Qujian
{public:
Qujian(){left=0;right=0;}
Qujian(double l,double r){left=l;right=r;}
Qujian operator * (Qujian &q2);
void display();
double min(double,double,double,double);
double max(double,double,double,double);
private:
double left;
double right;
double t1;
double t2;
};
void Qujian::display()
{cout<<"["<<left<<","<<right<<"]"<<endl;}
double Qujian::min()
{double t1,t2,min;
t1=((left*q2.left<left*q2.right)?(left*q2.left):(left*q2.right));
t2=((right*q2.left<right*q2.right)?(right*q2.left):(right*q2.right));
min=(t1<t2)?t1:t2;
}
double Qujian::max()
{double t1,t2,max;
t1=((left*q2.left>left*q2.right)?(left*q2.left):(left*q2.right));
t2=((right*q2.left>right*q2.right)?(right*q2.left):(right*q2.right));
max=(t1>t2)?t1:t2;
}
Qujian Qujian::operator *(Qujian &q2)
{Qujian q;
q.left=min(left*q2.left,left*q2.right,right*q2.left,right*q2.right);
q.right=max(left*q2.left,left*q2.right,right*q2.left,right*q2.right);
return q;}
int main()
{Qujian q1(2,3),q2(2,4),q3;
q3=q1*q2;
cout<<"q1";q1.display();
cout<<"q2";q2.display();
cout<<"q1+q2";q3.display();
return 0;
}
[解决办法]
请贴错误警告
[解决办法]
#include<iostream>
using namespace std;
class Qujian
{public:
Qujian(){left=0;right=0;}
Qujian(double l,double r){left=l;right=r;}
Qujian operator * (Qujian &q2);
void display();
double min(double,double,double,double);
double max(double,double,double,double);
private:
double left;
double right;
double t1;
double t2;
};
void Qujian::display()
{cout<<"["<<left<<","<<right<<"]"<<endl;}
double Qujian::min(double,double,double,double)
{double t1,t2,min;
Qujian q2;
t1=((left*q2.left<left*q2.right)?(left*q2.left):(left*q2.right));
t2=((right*q2.left<right*q2.right)?(right*q2.left):(right*q2.right));
min=(t1<t2)?t1:t2;
return min ;
}
double Qujian::max(double,double,double,double)
{double t1,t2,max;
Qujian q2;
t1=((left*q2.left>left*q2.right)?(left*q2.left):(left*q2.right));
t2=((right*q2.left>right*q2.right)?(right*q2.left):(right*q2.right));
max=(t1>t2)?t1:t2;
return max;
}
Qujian Qujian::operator *(Qujian &q2)
{Qujian q;
q.left=min(left*q2.left,left*q2.right,right*q2.left,right*q2.right);
q.right=max(left*q2.left,left*q2.right,right*q2.left,right*q2.right);
return q;}
int main()
{
Qujian q1(2,3),q2(2,4),q3;
q3=q1*q2;
cout<<"q1";q1.display();
cout<<"q2";q2.display();
cout<<"q1+q2";q3.display();
return 0;
}
double min(double,double,double,double);
double max(double,double,double,double);