第四章

来源:互联网 发布:java 字符串前面补零 编辑:程序博客网 时间:2024/05/22 00:55
1:#include <iostream>using namespace std;class Complex {public:   Complex(){real=0;imag=0;}   Complex(double r,double i){real=r;imag=i;}   double get_real();   double get_imag();   void display();  private:   double real;   double imag; };double Complex::get_real(){return real;}double Complex::get_imag(){return imag;}void Complex::display(){cout<<"("<<real<<","<<imag<<"i)"<<endl;}Complex operator + (Complex &c1,Complex &c2){ return Complex(c1.get_real()+c2.get_real(),c1.get_imag()+c2.get_imag());}int main(){Complex c1(3,4),c2(5,-10),c3; c3=c1+c2; cout<<"c3="; c3.display(); return 0;}
2:#include <iostream>using namespace std;class Complex {public:   Complex(){real=0;imag=0;}   Complex(double r,double i){real=r;imag=i;}   Complex operator+(Complex &c2);   Complex operator-(Complex &c2);   Complex operator*(Complex &c2);   Complex operator/(Complex &c2);   void display();  private:   double real;   double imag; };Complex Complex::operator+(Complex &c2){Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c;}Complex Complex::operator-(Complex &c2){Complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return c;}Complex Complex::operator*(Complex &c2){Complex c; c.real=real*c2.real-imag*c2.imag; c.imag=imag*c2.real+real*c2.imag; return c;}Complex Complex::operator/(Complex &c2){Complex c; c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); return c;}void Complex::display(){cout<<"("<<real<<","<<imag<<"i)"<<endl;}int main(){Complex c1(3,4),c2(5,-10),c3; c3=c1+c2; cout<<"c1+c2="; c3.display(); c3=c1-c2; cout<<"c1-c2="; c3.display(); c3=c1*c2; cout<<"c1*c2="; c3.display(); c3=c1/c2; cout<<"c1/c2="; c3.display(); return 0;}<pre name="code" class="cpp">3:#include <iostream>        //用VC++时改为∶ #include <iostream.h>using namespace std;      //用VC++时为取消此行class Complex {public:   Complex(){real=0;imag=0;}   Complex(double r,double i){real=r;imag=i;}   Complex operator+(Complex &c2);   Complex operator+(int &i);   friend Complex operator+(int&,Complex &);   void display();  private:   double real;   double imag;};Complex Complex::operator+(Complex &c){return Complex(real+c.real,imag+c.imag);}Complex Complex::operator+(int &i){return Complex(real+i,imag);}void Complex::display(){cout<<"("<<real<<","<<imag<<"i)"<<endl;}Complex operator+(int &i,Complex &c){return Complex(i+c.real,c.imag);}int main(){Complex c1(3,4),c2(5,-10),c3; int i=5; c3=c1+c2; cout<<"c1+c2="; c3.display(); c3=i+c1; cout<<"i+c1="; c3.display(); c3=c1+i; cout<<"c1+i="; c3.display(); return 0;}
4:#include <iostream>using namespace std;class Matrix                                          //定义Matrix类 {public:Matrix();                                          //默认构造函数   friend Matrix operator+(Matrix &,Matrix &);        //重载运算符“+”   void input();                                      //输入数据函数   void display();                                    //输出数据函数  private:   int mat[2][3]; };Matrix::Matrix()                                      //定义构造函数{for(int i=0;i<2;i++)  for(int j=0;j<3;j++)   mat[i][j]=0;}Matrix operator+(Matrix &a,Matrix &b)                //定义重载运算符“+”函数{Matrix c; for(int i=0;i<2;i++)   for(int j=0;j<3;j++)     {c.mat[i][j]=a.mat[i][j]+b.mat[i][j];} return c;} void Matrix::input()                                   //定义输入数据函数{cout<<"input value of matrix:"<<endl; for(int i=0;i<2;i++)  for(int j=0;j<3;j++)   cin>>mat[i][j];}void Matrix::display()                                //定义输出数据函数{for (int i=0;i<2;i++){for(int j=0;j<3;j++)   {cout<<mat[i][j]<<" ";}    cout<<endl;}}int main(){Matrix a,b,c; a.input(); b.input(); cout<<endl<<"Matrix a:"<<endl; a.display(); cout<<endl<<"Matrix b:"<<endl; b.display(); c=a+b;                                         //用重载运算符“+”实现两个矩阵相加 cout<<endl<<"Matrix c = Matrix a + Matrix b :"<<endl; c.display(); return 0;}

5:#include <iostream.h>//using namespace std;class Matrix {public:   Matrix();   friend Matrix operator+(Matrix &,Matrix &);   friend ostream& operator<<(ostream&,Matrix&);   friend istream& operator>>(istream&,Matrix&);  private:   int mat[2][3]; };Matrix::Matrix(){for(int i=0;i<2;i++)  for(int j=0;j<3;j++)   mat[i][j]=0;}Matrix operator+(Matrix &a,Matrix &b){Matrix c; for(int i=0;i<2;i++)   for(int j=0;j<3;j++)     {c.mat[i][j]=a.mat[i][j]+b.mat[i][j];     } return c;}istream& operator>>(istream &in,Matrix &m){cout<<"input value of matrix:"<<endl; for(int i=0;i<2;i++)  for(int j=0;j<3;j++)   in>>m.mat[i][j]; return in;}ostream& operator<<(ostream &out,Matrix &m){for (int i=0;i<2;i++)  {for(int j=0;j<3;j++)   {out<<m.mat[i][j]<<" ";}    out<<endl;} return out;}int main(){ Matrix a,b,c; cin>>a; cin>>b; cout<<endl<<"Matrix a:"<<endl<<a<<endl;cout<<endl<<"Matrix b:"<<endl<<b<<endl; c=a+b; cout<<endl<<"Matrix c = Matrix a + Matrix b :"<<endl<<c<<endl; return 0;}

6:#include <iostream>using namespace std;class Complex {public:   Complex(){real=0;imag=0;}   Complex(double r){real=r;imag=0;}   Complex(double r,double i){real=r;imag=i;}   operator double(){return real;}   void display();  private:   double real;   double imag; };void Complex::display(){cout<<"("<<real<<", "<<imag<<")"<<endl;}int main(){Complex c1(3,4),c2; double d1; d1=2.5+c1; cout<<"d1="<<d1<<endl; c2=Complex(d1); cout<<"c2="; c2.display(); return 0;}

7:#include <iostream>using namespace std;class Student{public:Student(int,char[],char,float);  int get_num(){return num;}  char * get_name(){return name;}  char get_sex(){return sex;}  void display()   {cout<<"num:"<<num<<"\nname:"<<name<<"\nsex:"<<sex<<"\nscore:"<<score<<"\n\n";} private:  int num;  char name[20];  char sex;  float score;};Student::Student(int n,char nam[],char s,float so) {num=n;  strcpy(name,nam);  sex=s;  score=so;}class Teacher {public:  Teacher(){}  Teacher(Student&);   Teacher(int n,char nam[],char sex,float pay);   void display();  private:   int num;   char name[20];   char sex;   float pay;};Teacher::Teacher(int n,char nam[],char s,float p){num=n; strcpy(name,nam); sex=s; pay=p;}Teacher::Teacher(Student& stud) {num=stud.get_num();  strcpy(name,stud.get_name());  sex=stud.get_sex();  pay=1500;}void Teacher::display(){cout<<"num:"<<num<<"\nname:"<<name<<"\nsex:"<<sex<<"\npay:"<<pay<<"\n\n";}int main(){Teacher teacher1(10001,"Li",'f',1234.5),teacher2; Student student1(20010,"Wang",'m',89.5); cout<<"student1:"<<endl; student1.display(); teacher2=Teacher(student1); cout<<"teacher2:"<<endl; teacher2.display(); return 0;}




0 0
原创粉丝点击