日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

[YTU]_2535( C++复数运算符重载(+与))

發布時間:2025/4/16 c/c++ 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [YTU]_2535( C++复数运算符重载(+与)) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

定義一個復數類Complex,重載運算符“+”,使之能用于復數的加法運算與輸出操作。
(1)參加運算的兩個運算量可以都是類對象,也可以其中有一個是實數,順序任意。例如,c1+c2,d+c1,c1+d均合法(設d為實數,c1,c2為復數)。
(2)輸出的算數,在復數兩端加上括號,實部和虛部均保留兩位小數,如(8.23+2.00i)、(7.45-3.40i)、(-3.25+4.13i)等。
編寫程序,分別求兩個復數之和、整數和復數之和,并且輸出。

請在下面的程序段基礎上完成設計:
#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 &);
Complex operator+(double &);
friend Complex operator+(double&,Complex &);
friend ostream& operator << (ostream& output, const Complex& c);
private:
double real;
double imag;
};

//將程序需要的其他成份寫在下面,只提交begin到end部分的代碼
//******************** begin ********************


//********************* end ********************
int main()
{
//測試復數加復數
double real,imag;
cin>>real>>imag;
Complex c1(real,imag);
cin>>real>>imag;
Complex c2(real,imag);
Complex c3=c1+c2;
cout<<"c1+c2=";
cout<<c3;

//測試復數加實數
double d;
cin>>real>>imag;
cin>>d;
c3=Complex(real,imag)+d;
cout<<"c1+d=";
cout<<c3;

//測試實數加復數
cin>>d;
cin>>real>>imag;
c1=Complex(real,imag);
c3=d+c1;
cout<<"d+c1=";
cout<<c3;

return 0;
}

輸入

一個復數的實部和虛部,另一個復數的實部和虛部?
一個復數的實部和虛部,一個實數
一個實數,一個復數的實部和虛部

輸出

兩個復數之和、復數和實數之和,實數和復數之和。

樣例輸入

3 4 5 -10 3 4 5 5 3 4

樣例輸出

c1+c2=(8.00-6.00i) c1+d=(8.00+4.00i) d+c1=(8.00+4.00i)

提示

只提交自己定義的函數部分,控制輸出小數點后兩位,用 setiosflags(ios::fixed);和setprecision(2);控制

#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 &);Complex operator+(double &);friend Complex operator+(double&,Complex &);friend ostream& operator << (ostream& output, const Complex& c); private:double real;double imag; };Complex Complex::operator+(Complex &c) {return Complex(real+c.real,imag+c.imag);} Complex Complex::operator+(double &r) {return Complex(real+r,imag);} Complex operator+(double &r,Complex&c) {return Complex(r+c.real,c.imag);} ostream& operator<<(ostream &cout,const Complex &c) {cout<<setiosflags(ios::fixed);cout<<setprecision(2);cout<<'('<<c.real; if(c.imag>0) cout<<'+'; cout<<c.imag<<"i)"<<endl; }int main() {//測試復數加復數double real,imag;cin>>real>>imag;Complex c1(real,imag);cin>>real>>imag;Complex c2(real,imag);Complex c3=c1+c2;cout<<"c1+c2=";cout<<c3;//測試復數加實數double d;cin>>real>>imag;cin>>d;c3=Complex(real,imag)+d;cout<<"c1+d=";cout<<c3;//測試實數加復數cin>>d;cin>>real>>imag;c1=Complex(real,imag);c3=d+c1;cout<<"d+c1=";cout<<c3;return 0; }

總結

以上是生活随笔為你收集整理的[YTU]_2535( C++复数运算符重载(+与))的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。