#include<iostream> #include<iomanip> #include<cmath> using namespace std; class Complex { public: Complex(double myreal = 0, double myim = 0); Complex(Complex &xp); void add(Complex p); void show(); double mod(); private: double real, im; }; Complex::Complex(double myreal, double myim) { real = myreal; im = myim; if (im == 0) cout << real << endl; else cout << real << "+" << im << "i" << endl; } Complex::Complex(Complex &xp) { real=xp.real; im=xp.im; } void Complex::add(Complex p) { real=p.real+real; im=p.im+im; } void Complex::show() { cout << real << "+" << im << "i" << endl; } double Complex::mod() { return sqrt(pow(real, 2) + pow(im, 2)); } int main() { Complex c1(3, 5); Complex c2(4.5); Complex c3(c1); c1.add(c2); c1.show(); cout<<c1.mod(); system("pause"); return 0; }
实验总结:
一开始写这个程序的时候完全没理解题目意思,不知从何下手,后来自己理解明白了,打出来的程序太过麻烦而且有问题,最后自己找了些资料,改了程序最后变成了这个版本,希望大家帮我再找些错误,让我的程序条理更加清晰,更加优化。
评论:
1.https://www.cnblogs.com/shenqidetao/p/10626879.html