题目
定义一个复数类Complex,重载运算符“+”,“-”,“*”,“/”,使之能用于复数的加、减、乘、除.
运算符重载作为Complex的类的成员函数,编程序,求两个复数的和,差,积,商.
程序:
#include
using namespace std;
class Complex //定义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;
运算符重载作为Complex的类的成员函数,编程序,求两个复数的和,差,积,商.
程序:
#include
using namespace std;
class Complex //定义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;
提问时间:2020-05-22
答案
#include
using namespace std;
class Complex //定义complex类
{public:
Complex(){real=0;imag=0;} //定义构造函数
Complex(double r,double i){real=r;imag=i;} //构造函数重载
friend Complex operator+(Complex &c1,Complex &c2); //声明复数相加的函数
friend Complex operator-(Complex &c1,Complex &c2); //声明复数相减的函数
friend Complex operator*(Complex &c1,Complex &c2); //声明复数相乘的函数
friend Complex operator/(Complex &c1,Complex &c2); //声明复数相除的函数
void display();
private:
double real; //实部
double imag; //虚部
};
Complex operator+(Complex &c1,Complex &c2) //定义复数相加的函数
{Complex c;
c.real=c1.real+c2.real; //实部相加
c.imag=c1.imag+c2.imag; //虚部相加
return c;}
Complex operator-(Complex &c1,Complex &c2) //定义复数相减的函数
{Complex c;
c.real=c1.real-c2.real;
c.imag=c2.imag-c2.imag;
return c;}
Complex operator*(Complex &c1,Complex &c2) //定义复数相乘的函数
{Complex c;
c.real=c1.real*c2.real-c1.imag*c2.imag;
c.imag=c1.imag*c2.real+c1.real*c2.imag;
return c;}
Complex operator/(Complex &c1,Complex &c2) //定义复数相除的函数
{Complex c;
c.real=(c1.real*c2.real+c1.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
c.imag=(c1.imag*c2.real-c1.real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
return c;}
void Complex::display() //定义输出函数
{cout
using namespace std;
class Complex //定义complex类
{public:
Complex(){real=0;imag=0;} //定义构造函数
Complex(double r,double i){real=r;imag=i;} //构造函数重载
friend Complex operator+(Complex &c1,Complex &c2); //声明复数相加的函数
friend Complex operator-(Complex &c1,Complex &c2); //声明复数相减的函数
friend Complex operator*(Complex &c1,Complex &c2); //声明复数相乘的函数
friend Complex operator/(Complex &c1,Complex &c2); //声明复数相除的函数
void display();
private:
double real; //实部
double imag; //虚部
};
Complex operator+(Complex &c1,Complex &c2) //定义复数相加的函数
{Complex c;
c.real=c1.real+c2.real; //实部相加
c.imag=c1.imag+c2.imag; //虚部相加
return c;}
Complex operator-(Complex &c1,Complex &c2) //定义复数相减的函数
{Complex c;
c.real=c1.real-c2.real;
c.imag=c2.imag-c2.imag;
return c;}
Complex operator*(Complex &c1,Complex &c2) //定义复数相乘的函数
{Complex c;
c.real=c1.real*c2.real-c1.imag*c2.imag;
c.imag=c1.imag*c2.real+c1.real*c2.imag;
return c;}
Complex operator/(Complex &c1,Complex &c2) //定义复数相除的函数
{Complex c;
c.real=(c1.real*c2.real+c1.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
c.imag=(c1.imag*c2.real-c1.real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
return c;}
void Complex::display() //定义输出函数
{cout
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
最新试题
- 1小学六年常见的关联词如:因为.所以
- 2求成语+拼音+解释(越多越好)急!
- 3抚顺的交通工具有哪些?他们的种类和作用分别是什么?
- 4到直线l的距离等于2cm的点有( )
- 5一个正方形ABCD 其中任意有一点P 连接AP BP CP DP ∠CPD=∠DPC=15° 证明△APB是正△
- 6many/much 表示许多时可以用在肯定句中吗?
- 7除去SO2中混有的SO3气体,可选用的试剂是( ) A.石灰乳 B.浓硫酸 C.饱和NaHSO3溶液 D.酸性KMnO4溶液
- 81,一个矩形的宽是长的二分之一,对角线的长是根号5,则他的面积是
- 91、甲数比乙数的80%少20,甲数是60,乙数是()
- 10see同ee发音相同的单词
热门考点
- 1形容没完没了地报怨诉说的四字词语
- 21.用棉籽壳可人工栽培真菌.根据这一特点,可以推知平菇细胞中不可能含有( ) A.叶绿体 B.核糖体 C.高尔基体 D.线粒体 2.下列细胞中,核仁较小的是( ) A.神经细胞 B.细胞胰腺 C.肿瘤
- 3答案是B,我选D,请各位帮帮忙帮忙解释一下,这几个词有什么区别及用法
- 4谁能告诉我一些,赞美竹、松、梅,的对联或诗!
- 5用一百米长的铁丝围成一个长方形,使长比宽多一米,求围成的长方形面积是多少?若长比宽多二米,面积是...
- 6电子计算机主要以什么为标致来划分发展阶段的
- 7初学化学时 先后接触O2 O3 红磷和白磷 金刚石 石墨和C60 由此可以得出结论是
- 81000 碱基 组成 DNA
- 9towards和to的区别
- 10河水声很响.改成夸张句