首页 > 代码库 > sdut 4-1 复数类的运算符重载
sdut 4-1 复数类的运算符重载
4-1 复数类的运算符重载
Time Limit: 1000MS Memory limit: 65536K
题目描述
通过本题目的练习可以掌握成员运算符重载及友元运算符重载
要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求。
输入
要求在主函数中创建对象时初始化对象的值。
输出
输出数据共有4行,分别代表a,b的值和它们求和、求差后的值
示例输入
无
示例输出
a=3.2+4.5i b=8.9+5.6i a+b=12.1+10.1i a-b=-5.7-1.1i
提示
来源
#include <iostream> using namespace std; class Complex//定义Complex类 { private: double real; double imag; public: Complex()//默认为0 { real=0; imag=0; } Complex(double a,double b)//赋值函数 { real=a; imag=b; } Complex operator+(Complex &c);//声明重载运算符“+” Complex operator-(Complex &c);//声明重载运算符“-” friend ostream& operator <<(ostream &,Complex&);//声明运算符“<<”重载为友元函数 }; Complex Complex :: operator+(Complex &c)//定义重载运算符“+”函数 { Complex d; d.real=real+c.real; d.imag=imag+c.imag; return d; } Complex Complex :: operator-(Complex &c)//定义重载运算符“-”函数 { Complex d; d.real=real-c.real; d.imag=imag-c.imag; return d; } ostream &operator <<(ostream &output,Complex&c)//定义运算符“<<”重载函数 { output<<c.real; if(c.imag>=0)output<<"+"; output<<c.imag<<"i"; return output; } int main() { Complex a(3.2,4.5),b(8.9,5.6); cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; Complex c; c=a+b;//运算符+用于复数运算 cout<<"a+b="<<c<<endl; c=a-b;//运算符-用于复数运算 cout<<"a-b="<<c<<endl; return 0; }
sdut 4-1 复数类的运算符重载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。