#include <iostream> using namespace std; template <typename T> class Complex{ public: Complex(T real=0,T img=0){ this->real=real; this->img=img; } T real; T img; }; Complex operator+(Complex c1,Complex c2){ Complex c3; c3.real=c1.real+c2.real; c3.img=c1.img+c2.img; return c3; } main(){ double a,b,c,d; cin>>a>>b>>c>>d; Complex<double>c1(a,b); Complex<double>c2(c,d); Complex<double>c3; c3=c1+c2; cout<<"("<<c3.real<<", "<<c3.img<<")"<<endl; }
时间: 2024-03-07 11:51:56 浏览: 63
使用include <iostream>时一定要加using namespace std
这段代码实现了一个复数类 Complex,支持复数加法运算。其中,Complex 类模板中包含两个私有成员变量 real 和 img,表示复数的实部和虚部;构造函数中默认实部和虚部均为 0;重载了加法运算符 +,使得两个 Complex 类型的对象可以进行加法运算;主函数中先输入四个 double 类型的数,分别作为两个复数的实部和虚部,然后创建两个 Complex<double> 类型的对象 c1 和 c2,初始化为输入的实部和虚部;创建一个 Complex<double> 类型的对象 c3,将 c1 和 c2 相加得到的结果赋值给 c3;最后输出 c3 的实部和虚部。
你还有其他问题吗?
阅读全文