设计、定义并实现Complex类
实验代码
#include<iostream> #include<math.h> using namespace std; class Complex{ public: Complex(double real0=0,double imag0=0); Complex(Complex &p); void add(Complex A); void show(); double mod(); private: double real; double imag; }; Complex::Complex(Complex &p) { real=p.real; imag=p.imag; } Complex::Complex(double real0,double imag0) { real=real0; imag=imag0; } void Complex::show() { cout<<real<<"+"<<imag<<"i"<<endl; } void Complex::add(Complex A) { real=real+A.real; imag=imag+A.imag; } double Complex::mod() { double s=real*real+imag*imag; double m=sqrt(s); return m; } int main() { Complex c1(3,5); Complex c2(4.5); Complex c3(c1); c1.add(c2); c1.show(); cout<<c1.mod(); return 0; }
运行截图
实验总结:1.设计函数时要考虑到是否有返回值。
2.起初我在构造函数时分别设计了带有默认形参值的构造函数和不带默认形参值的构造函数,编译后发现不能重载,后来删掉了没有默认形参值的构造函数,算是纠正了个小错误吧。