复数类--重载运算符2+
来源:互联网 发布:em算法再次 编辑:程序博客网 时间:2024/06/04 01:31
Problem C: C++习题 复数类--重载运算符2+
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 361 Solved: 246
[Submit][Status][Web Board]
Description
定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。例如,c1+c2,i+c1,c1+i均合法(设i为整数,c1,c2为复数)。编写程序,分别求两个复数之和、整数和复数之和。
Input
两个复数
一个复数和一个整数
一个整数和一个复数
Output
两个复数之和、复数和整数之和,整数和复数之和。
Sample Input
3 4 5 -103 4 55 3 4
Sample Output
c1+c2=(8.00,-6.00i)c1+i=(8.00,4.00i)i+c1=(8.00,4.00i)
HINT
前置代码及类型定义已给定如下,提交时不需要包含,会自动添加到程序前部
/* C++代码 */
#include <iostream>
#include <iomanip>
using namespace std;
class Complex
{
public:
Complex()
{
real=0;
imag=0;
}
Complex(double r,double i)
{
real=r;
imag=i;
}
Complex operator+(Complex &c2);
Complex operator+(int &i);
friend Complex operator+(int&,Complex &);
void display();
private:
double real;
double imag;
};
主函数已给定如下,提交时不需要包含,会自动添加到程序尾部
/* C++代码 */
int main()
{
double real,imag;
cin>>real>>imag;
Complex c1(real,imag);
cin>>real>>imag;
Complex c2(real,imag);
cout<<setiosflags(ios::fixed);
cout<<setprecision(2);
Complex c3=c1+c2;
cout<<"c1+c2=";
c3.display();
int i;
cin>>real>>imag;
cin>>i;
c3=Complex(real,imag)+i;
cout<<"c1+i=";
c3.display();
cin>>i;
cin>>real>>imag;
c1=Complex(real,imag);
c3=i+c1;
cout<<"i+c1=";
c3.display();
return 0;
}
#include <iostream>#include <iomanip>using namespace std;class Complex{public: Complex() { real=0; imag=0; } Complex(double r,double i) { real=r; imag=i; } Complex operator+(Complex &c2); Complex operator+(int &i); friend Complex operator+(int&,Complex &); void display();private: double real; double imag;};Complex Complex::operator + (Complex &c2){ return Complex(real + c2.real,imag + c2.imag);}Complex Complex::operator + (int &i){ return Complex(real + i,imag);}Complex operator + (int &i, Complex &a){ return Complex(i + a.real,a.imag);}void Complex::display(){ cout<<'('<<real<<','<<imag<<"i)"<<endl;}int main(){ double real,imag; cin>>real>>imag; Complex c1(real,imag); cin>>real>>imag; Complex c2(real,imag); cout<<setiosflags(ios::fixed); cout<<setprecision(2); Complex c3=c1+c2; cout<<"c1+c2="; c3.display(); int i; cin>>real>>imag; cin>>i; c3=Complex(real,imag)+i; cout<<"c1+i="; c3.display(); cin>>i; cin>>real>>imag; c1=Complex(real,imag); c3=i+c1; cout<<"i+c1="; c3.display(); return 0;}
- 复数类中运算符重载 2
- 复数类--重载运算符2+
- 复数类--重载运算符2+
- 复数类--重载运算符2+
- OJ-复数类-重载运算符2
- 复数类运算符重载
- 复数类--重载运算符+,-,*,/
- 复数类--重载运算符+
- 复数类--重载运算符+,-,*,/
- 复数类--重载运算符+
- 复数类--重载运算符+,-,*,/
- 复数类--重载运算符
- 运算符重载 复数类 /
- 运算符重载 复数类 *
- 复数类 运算符重载
- 复数运算符重载
- 复数运算符重载
- 实现复数类中的运算符重载2
- Android4.4Phone的变化
- Win7 设置电脑保护色
- String.Format用法
- 利用easyui实现对表格的行编辑,增加行和修改行
- 算法训练 最小乘积(基本型)
- 复数类--重载运算符2+
- 个性化推荐算法 综述
- android 在listview中 不同的item现实不同的 布局
- DWZ富客户端框架使用
- 能够取代Linux命令行的4款GUI实用工具
- WIn7 磁盘分区工具试用记录
- 在SQL Server 2005里面把表移动到另外一个filegroup里(ZT,经翻译)
- [ThinkPHP] 1、Config.php 配置项分析
- acm第二题