⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_8_1.cpp

📁 C++应用教程原码,里面包含该书中有十三章内容的代码,详细具体
💻 CPP
字号:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

class complex {
	    friend complex operator + (const complex& number1, const complex& number2);
        friend complex operator - (const complex& number1, const complex& number2);
        friend complex operator * (const complex& number1, const complex& number2);
        friend complex operator / (const complex& number1, const complex& number2);
        friend ostream& operator << (ostream&out, complex&c);
      private:	
		double a,b;
      public :
	    complex(float x=0.0,float y=0.0) {a=x;b=y;}
   
};

complex operator + (const complex& number1,const complex& number2)
{   complex number;
	number.a=number1.a+number2.a;
	number.b=number1.b+number2.b;
	cout<<"s1 + s2 = ";
	return number;
}
complex operator -(const complex& number1,const complex& number2)
{   complex number;
	number.a=number1.a-number2.a;
	number.b=number1.b-number2.b;
	cout<<"s1 - s2 = ";
	return number;

}
complex operator *(const complex& number1,const complex& number2)
{   complex number;
	number.a=number1.a*number2.a-number1.b*number2.b;
	number.b=number1.a*number2.b+number1.b*number2.a;
	cout<<"s1 * s2 = ";
	return number;

}
complex operator /(const complex& number1,const complex& number2)
{   complex number;
	if((number2.a*number2.a+number2.b*number2.b)!=0)
	{
	    number.a=(number1.a*number2.a+number1.b*number2.b)/(number2.a*number2.a+number2.b*number2.b);
	    number.b=(number1.b*number2.a-number1.a*number2.b)/(number2.a*number2.a+number2.b*number2.b);
    	cout<<"s1 / s2 = ";
  	}
	else
		cout<<"除数为零,不能相除!";
	return number;

}
ostream& operator << (ostream&out, complex&c)
{	if(c.b>0)
			out<<c.a<<"+"<<c.b<<"i"<<endl;
	else
			out<<c.a<<"-"<<-c.b<<"i"<<endl;
    return out;
}

void main()
{
	complex s1(3.4,2.1),s2(6.8,4.6),s3;
	cout<<"复数s1: "<<s1;
	cout<<"复数s2: "<<s2;
	s3 = s1 + s2;
	cout << s3;
	s3 = s1 - s2;
	cout << s3;
	s3 = s1 * s2;
	cout << s3;
	s3 = s1 / s2;
	cout << s3;
	cout<<endl;
	cin.get(); //等待结束,以便调测程序,可以删除
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -