C++第四章

1.#include <iostream>
using namespace std;
class Complex{
public:
	Complex()
	{
	 real=0;
	 imag=0;
	}
	Complex(double r,double i)
	{
	 real=r;
	 imag=i;
	}
	double getreal()
	{
	 return real;
	}
	double getimag()
	{
	 return imag;
	}
	void display()
	{
	 cout<<"("<<real<<"+"<<imag<<"i)"<<endl;
	}
private:
	double real;
	double imag;
};
Complex operator +(Complex &c1,Complex &c2)
{
 return Complex(c1.getreal()+c2.getreal(),c1.getimag()+c2.getimag());
}
int main()
{
 Complex c1(1,2),c2(3,4),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 &);
	Complex operator -(Complex &);
	Complex operator *(Complex &);
	Complex operator /(Complex &);
	void display()
	{
	 cout<<"("<<real<<"+"<<imag<<"i)"<<endl;
	}
private:
	double real;
	double imag;
};
Complex Complex::operator +(Complex &c2)
{
 return Complex(real+c2.real,imag+c2.imag);
}
Complex Complex::operator -(Complex &c2)
{
 return Complex(real-c2.real,imag-c2.imag);
}
Complex Complex::operator *(Complex &c2)
{
 return Complex(real*c2.real,imag*c2.imag);
}
Complex Complex::operator /(Complex &c2)
{
 return Complex(real/c2.real,imag/c2.imag);
}
int main()
{
 Complex c1(2,4),c2(1,2),c3,c4,c5,c6;
 c3=c1+c2;
 cout<<"c3=c1+c2=";
 c3.display();
 c4=c1-c2;
 cout<<"c4=c1-c2=";
 c4.display();
 c5=c1*c2;
 cout<<"c5=c1*c2=";
 c5.display();
 c6=c1/c2;
 cout<<"c6=c1/c2=";
 c6.display();
 return 0;
}

3.#include <iostream.h>
class Complex{
public:
	Complex()
	{
	 real=0;
	 imag=0;
	}
	Complex(double r,double i)
	{
	 real=r;
	 imag=i;
	}
    Complex operator +(Complex &);
	Complex operator +(int &);
	friend Complex operator +(int &,Complex &);
	void display()
	{
	 cout<<"("<<real<<"+"<<imag<<"i)"<<endl;
	}
private:
	double real;
	double imag;
};
Complex Complex::operator +(Complex &c2)
{
 return Complex(real+c2.real,imag+c2.imag);
}
Complex Complex::operator +(int &i)
{
 return Complex(real+i,imag);
}
Complex operator +(int &i,Complex &c3)
{
 return Complex(i+c3.real,c3.imag);
}
int main()
{
 int i=2;
 Complex c1(2,4),c2(1,2),c3,c4,c5;
 c3=c1+c2;
 cout<<"c3=c1+c2=";
 c3.display();
 c4=c1+i;
 cout<<"c4=c1+i=";
 c4.display();
 c5=i+c2;
 cout<<"c5=i+c2=";
 c5.display();
 return 0;
}

4. #include <iostream.h>
class 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()
{
 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();
 c=a+b;
 c.display();
 return 0;
}

5. #include <iostream.h>
class Matrix{
public:	
	Matrix();
	friend Matrix operator +(Matrix &,Matrix &);
	friend istream& operator >>(istream &,Matrix &);
	friend ostream& operator <<(ostream &,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 &c)
{
 for(int i=0;i<2;i++)
	 for(int j=0;j<3;j++)
		 in>>c.mat[i][j];
	 return in;
}
ostream & operator <<(ostream & out,Matrix &c)
{
 for(int i=0;i<2;i++)
	 for(int j=0;j<3;j++)
	 {
     out<<c.mat[i][j]<<" ";
	 cout<<endl;
	 }
	 return out;
}
int main()
{
 Matrix a,b,c;
 cin>>a;
 cout<<a;
 cin>>b;
 cout<<b;
 c=a+b;
 cout<<c;
 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()
	{
	 cout<<"("<<real<<"+"<<imag<<"i)"<<endl;
	}
private:
	double real;
	double imag;
};
int main()
{
 int i=2;
 Complex c1(2,4),c2;
 double d1;
 d1=2.5+c1;
 cout<<"d1="<<d1<<endl;
 c2=Complex(d1);
 cout<<"c2="<<c2.display<<endl;
 return 0;
}

7. #include <iostream>
using namespace std;
#include <cstring>
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<<endl;
	 cout<<"name="<<name<<endl;
	 cout<<"sex="<<sex<<endl;
	 cout<<"score="<<score<<endl;
	}
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 &stud)
	{
	  num=stud.get_num();
      strcpy(name,stud.get_name());
      sex=stud.get_sex();
      pay=3000;
	}
    Teacher(int n,char nam[],char s,float p)
	{
       num=n;
       strcpy(name,nam);
       sex=s;
       pay=p;
	}
	void display()
	{
	 cout<<"num="<<num<<endl;
	 cout<<"name="<<name<<endl;
	 cout<<"sex="<<sex<<endl;
	 cout<<"pay="<<pay<<endl;
	}
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=3000;}
int main()
{
	Teacher t1;
	Student s1(1,"xian",'F',100);
	cout<<"s1:"<<endl;
	s1.display();
	t1=Teacher(s1);
	cout<<"t1:"<<endl;
	t1.display();
	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值