逐渐汇集编写各种运算符重载写法:
<1> : "+"
#include<iostream>using namespace std;
class student{private: float math; float english; float china;public: student(){ math=0; english=0; china=0; } student(float m,float e,float c){ math=m; english=e; china=c; } void output(){ cout<<"math score : "<<math<<endl<<"english score: "<<english<<endl<<"china score :"<<china<<endl;
} student operator+ (student &stud1){ student st; st.math=(math+stud1.english)/2 ; st.english =(english+stud1.english)/2; st.china =(china+stud1.china)/2;
return st; }
};
void main(){ student stud1(79.5,85,96),stud2(98,84,72),stu; stu=stud1+stud2; //stu.output(); cout<<stu;}
<2> : "<<"
#include<iostream>using namespace std;
class student{private: public: float math; float english; float china;//改为共有类型 student(){ math=0; english=0; china=0; } student(float m,float e,float c){ math=m; english=e; china=c; } void output(){ cout<<"math score : "<<math<<endl<<"english score: "<<english<<endl<<"china score :"<<china<<endl;
} student operator+ (student &stud1){ student st; st.math=(math+stud1.english)/2 ; st.english =(english+stud1.english)/2; st.china =(china+stud1.china)/2;
return st; }
friend ostream& operator<<(ostream& ostr,const student& stud1);
};
ostream& operator<<(ostream& ostr,student& stud1){
ostr<<"math score : "<<stud1.math<<endl <<"english score : "<<stud1.english<<endl <<"china score :"<<stud1.china<<endl; return ostr;
}
void main(){ student stud1(79.5,85,96),stud2(98,84,72),stu; stu=stud1+stud2; cout<<stu;}
<3> : ">>"
#include<iostream>using namespace std;
class student{private: public: float math; float english; float china; student(){ math=0; english=0; china=0; } student(float m,float e,float c){ math=m; english=e; china=c; } void output(){ cout<<"math score : "<<math<<endl<<"english score: "<<english<<endl<<"china score :"<<china<<endl;
} student operator+ (student &stud1){ student st; st.math=(math+stud1.english)/2 ; st.english =(english+stud1.english)/2; st.china =(china+stud1.china)/2;
return st; }
friend ostream& operator<<(ostream& ostr,const student& stud1); friend istream& operator>>(istream& istr,const student& stud1);};
istream& operator>>(istream& istr,student& stud1){ istr>>stud1.math>>stud1.english>>stud1.china; return istr;}ostream& operator<<(ostream& ostr,student& stud1){
ostr<<"math score : "<<stud1.math<<endl <<"english score : "<<stud1.english<<endl <<"china score :"<<stud1.china<<endl; return ostr;}
void main(){ student stud1(79.5,85,96),stud2(98,84,72),stu; stu=stud1+stud2; cout<<stu; cout<<"inout your data please : "<<endl; cin>>stu; cout<<stu;}
<4> : "-"
#include<iostream>#include<math.h>using namespace std;
class student{private: public: float math; float english; float china; student(){ math=0; english=0; china=0; } student(float m,float e,float c){ math=m; english=e; china=c; } void output(){ cout<<"math score : "<<math<<endl<<"english score: "<<english<<endl<<"china score :"<<china<<endl;
} student operator+ (student &stud1){ student st; st.math=(math+stud1.english)/2 ; st.english =(english+stud1.english)/2; st.china =(china+stud1.china)/2;
return st; } student operator-(student& stud1){ student st; st.math =fabs(math-stud1.math)*2; st.english =fabs(english-stud1.english)*2; st.china =fabs(china-stud1.china)*2;
return st; } friend ostream& operator<<(ostream& ostr,const student& stud1); friend istream& operator>>(istream& istr,const student& stud1);};
istream& operator>>(istream& istr,student& stud1){ istr>>stud1.math>>stud1.english>>stud1.china; return istr;}ostream& operator<<(ostream& ostr,student& stud1){
ostr<<"math score : "<<stud1.math<<endl <<"english score : "<<stud1.english<<endl <<"china score :"<<stud1.china<<endl; return ostr;}
void main(){ student stud1(79.5,85,96),stud2(98,84,72),stu; stu=stud1+stud2; cout<<stu; stu=stud1-stud2; cout<<stu; cout<<"inout your data please : "<<endl; cin>>stu; cout<<stu;}
<5> : "*"
#include<iostream>#include<math.h>using namespace std;
class student{private: public: float math; float english; float china; student(){ math=0; english=0; china=0; } student(float m,float e,float c){ math=m; english=e; china=c; } void output(){ cout<<"math score : "<<math<<endl<<"english score: "<<english<<endl<<"china score :"<<china<<endl;
} student operator+ (student &stud1){ student st; st.math=(math+stud1.english)/2 ; st.english =(english+stud1.english)/2; st.china =(china+stud1.china)/2;
return st; } student operator-(student& stud1){ student st; st.math =fabs(math-stud1.math)*2; st.english =fabs(english-stud1.english)*2; st.china =fabs(china-stud1.china)*2;
return st; } student operator*(student& stud1){ student st; st.math =math*stud1.math/100; st.english =english*stud1.english/100; st.china =china*stud1.china/100; return st; } friend ostream& operator<<(ostream& ostr,const student& stud1); friend istream& operator>>(istream& istr,const student& stud1);};
istream& operator>>(istream& istr,student& stud1){ istr>>stud1.math>>stud1.english>>stud1.china; return istr;}ostream& operator<<(ostream& ostr,student& stud1){
ostr<<"math score : "<<stud1.math<<endl <<"english score : "<<stud1.english<<endl <<"china score :"<<stud1.china<<endl; return ostr;}
void main(){ student stud1(79.5,85,96),stud2(98,84,72),stu; cout<<"operator <<"<<endl; cout<<"operator +"<<endl; stu=stud1+stud2; cout<<stu; cout<<"operator -"<<endl; stu=stud1-stud2; cout<<stu; cout<<"operator *"<<endl; stu=stud1*stud2; cout<<stu; cout<<"operator >>"<<endl; cout<<"inout your data please : "<<endl; cin>>stu; cout<<stu;}
<6> : "/"
#include<iostream>#include<math.h>using namespace std;
class student{private: public: float math; float english; float china; student(){ math=0; english=0; china=0; } student(float m,float e,float c){ math=m; english=e; china=c; } void output(){ cout<<"math score : "<<math<<endl<<"english score: "<<english<<endl<<"china score :"<<china<<endl;
} student operator+ (student &stud1){ student st; st.math=(math+stud1.english)/2 ; st.english =(english+stud1.english)/2; st.china =(china+stud1.china)/2;
return st; } student operator-(student& stud1){ student st; st.math =fabs(math-stud1.math)*2; st.english =fabs(english-stud1.english)*2; st.china =fabs(china-stud1.china)*2;
return st; } student operator*(student& stud1){ student st; st.math =math*stud1.math/100; st.english =english*stud1.english/100; st.china =china*stud1.china/100; return st; }
student operator/(student& stud1){ student st; st.math=math/stud1.math*100; st.english =english/stud1.english*100; st.china =china/stud1.china *100; return st; } friend ostream& operator<<(ostream& ostr,const student& stud1); friend istream& operator>>(istream& istr,const student& stud1);};
istream& operator>>(istream& istr,student& stud1){ istr>>stud1.math>>stud1.english>>stud1.china; return istr;}ostream& operator<<(ostream& ostr,student& stud1){
ostr<<"math score : "<<stud1.math<<endl <<"english score : "<<stud1.english<<endl <<"china score :"<<stud1.china<<endl; return ostr;}
void main(){ student stud1(79.5,85,96),stud2(98,84,72),stu; cout<<"operator <<"<<endl; cout<<"operator +"<<endl; stu=stud1+stud2; cout<<stu; cout<<"operator -"<<endl; stu=stud1-stud2; cout<<stu; cout<<"operator *"<<endl; stu=stud1*stud2; cout<<stu; cout<<"operator /"<<endl; stu=stud1/stud2; cout<<stu; cout<<"operator >>"<<endl; cout<<"inout your data please : "<<endl; cin>>stu; cout<<stu;}
待更新... ...
