逐渐汇集编写各种运算符重载写法:
<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;
}
待更新... ...