实现复数+double型数据,并且打印运算后实部上的数据
#include <iostream> using namespace std; class Complex { public: Complex( )//定义默认构造函数初始化复数 { real=0; imag=0; } //使用初始化表初始化复数 Complex(double r, double i):real(r),imag(i){} //定义自定义类型转换函数 operator double() { return real; } private: double real;//复数的实部 double imag;//复数的虚部 }; void main( ) { //定义三个复数 Complex c1(3.1,4); double d1; //将一个double数据与Complex类型数据相加 d1 = 2.5 + c1; cout<<d1<<endl; system("pause"); }
执行结果:
程序2:复数+double型数据并且打印运算后的复数
#include <iostream> using namespace std; class Complex { public: Complex( )//定义默认构造函数初始化复数 { real=0; imag=0; } //使用初始化表初始化复数 Complex(double r, double i):real(r),imag(i){} //定义带有参数的构造函数 Complex(double r) { real = r; imag = 0; } //重载+(实现复数相加) Complex operator+ (const Complex &c); //显示复数 void display(); private: double real;//复数的实部 double imag;//复数的虚部 }; //重载+(实现复数相加) Complex Complex::operator+(const Complex &c) { Complex x; //实部+实部 x.real = real + c.real; //虚部加虚部 x.imag = imag + c.imag; return x; } //显示复数 void Complex::display() { cout<<real<<"+"<<imag<<"i"<<endl; } void main( ) { //定义三个复数 Complex c1(3,4), c2; //实现复数加double类型的数据 c2 = c1 + 2.5; //打印执行结果 c2.display(); system("pause"); }
程序的执行结果:
在复数类中自定义类型转换函数实现复数和非复数之间的运算,布布扣,bubuko.com
原文:http://blog.csdn.net/u010105970/article/details/31734497