#include <iostream> using namespace std; template <typename T> class Complex{ T real; T img; public: friend Complex operator+(Complex<T> &c1,Complex<T> &c2); Complex(T real=0,T img=0){ this->real=real; this->img=img; } void show(){ cout<<"("<<real<<", "<<img<<")"<<endl; } }; template <typename T> Complex operator+(Complex<T> &c1,Complex<T> &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; c3.show(); return 0; }
时间: 2024-03-07 20:51:47 浏览: 51
#include_iostream.h_
4星 · 用户满意度95%
这是一个 C++ 的程序,它定义了一个复数类 `Complex`,通过重载 `operator+` 实现复数的加法运算。该类模板接受一个模板参数 `T`,表示复数的实部和虚部的数据类型,可以是整数、浮点数等。该类有两个私有成员变量 `real` 和 `img` 分别表示复数的实部和虚部,公有成员函数 `show()` 可以输出复数对象的值。在 `main()` 函数中,用户输入四个浮点数,创建两个 `Complex` 类型的对象 `c1` 和 `c2`,并将它们相加得到 `c3`,最后输出 `c3` 的值。
阅读全文