C 實現複數部分簡單操作

2021-10-21 12:18:10 字數 4011 閱讀 8630

實現了對複數的加減乘除四則運算,以及輸出,判斷相等,正負和共軛

complex.h

#ifndef _complex_

#define _complex_

#include

#include

using

namespace std;

class

complex

//建構函式,利用初始化列表

double

getre()

const

//常函式,使常物件可以訪問

double

getvi()

const

complex&

operator+=

(const complex& data)

;//過載+=號

complex&

operator-=

(const complex& data)

; complex&

operator+(

);//過載正號

complex operator-(

);//過載負號

complex conjugation()

;//共軛複數

private

:double re, vi;

//實部和虛部

friend complex&

add(complex* ths,

const complex& data)

;//友元可訪問私有成員

friend complex&

minu

(complex* ths,

const complex& data);}

;ostream&

operator

<<

(ostream& os,

const complex& data)

;complex operator+(

const complex& data1,

const complex& data2)

;complex operator+(

const complex& data,

double x)

;complex operator+(

double x,

const complex& data)

;complex operator-(

const complex& data1,

const complex& data2)

;complex operator-(

const complex& data,

double x)

;complex operator-(

double x,

const complex& data)

;bool

operator==(

const complex& data1,

const complex& data2)

;bool

operator==(

const complex& data,

const

double

&x);

bool

operator==(

const

double

&x,const complex& data)

;complex operator*(

const complex& data1,

const complex data2)

;complex operator*(

const complex& data,

double x)

;complex operator*(

double x,

const complex& data)

;complex operator/(

const complex& data,

double x)

;#endif

complex.cpp

#include

"complex.h"

complex&

add(complex* ths,

const complex& data)

complex&

minu

(complex* ths,

const complex& data)

complex& complex::

operator+=

(const complex& data)

complex& complex::

operator-=

(const complex& data)

complex& complex::

operator+(

)complex complex::

operator-(

)complex complex::

conjugation()

//共軛

ostream&

operator

<<

(ostream& os,

const complex& data)

//過載輸出

//過載加

complex operator+(

const complex& data1,

const complex& data2)

//兩複數相加

complex operator+(

const complex& data,

double x)

//複數+常數

complex operator+(

double x,

const complex& data)

//常數+複數

//過載減法

complex operator-(

const complex& data1,

const complex& data2)

//兩複數相減

complex operator-(

const complex& data,

double x)

//複數-常數

complex operator-(

double x,

const complex& data)

//常數-複數

//過載等號

bool

operator==(

const complex& data1,

const complex& data2)

bool

operator==(

const complex& data,

const

double

&x)bool

operator==(

const

double

&x,const complex& data)

//過載乘

complex operator*(

const complex& data1,

const complex data2)

complex operator*(

const complex& data,

double x)

complex operator*(

double x,

const complex& data)

//過載除法

complex operator/(

const complex& data,

double x)

檢驗:

#include

"complex.h"

intmain()

總結以上關於好的程式設計習慣:

成員變數最好用private修飾

充分利用建構函式中的初始化列表

在考慮引數和返回型別時考慮使用引用

考慮是否要把成員函式宣告為常函式

簡單實現C 複數計算器

1.有關計算器的功能 a,實現多個複數 包括實數 的加減乘除,大小比較,b.實現十進位制實數的進製轉換,可以轉換任意進製 2.有關設計的原理 a.複數計算的部分,採用運算子的過載,進行複數的加減乘除以及大小比較 對於輸入輸出,和 輸入的過載,實現a bi形式的複數的輸入。輸出的過載,實現實數的輸出 ...

C 複數類操作

複數的概念我們高中已經接觸過,包含是實部和虛部,for example 2i 3j 實部和虛部值可為整型,亦可浮點型,那在此實現一下簡單的複數類的操作 如下 class complex complex const complex c complex complex operator const co...

c 複習一 複數運算的簡單實現。

複數運算的簡單實現。程式很簡單了。基本忘光了複數,重新了解了基本概念。如何在平面表示乙個複數,複數的長度 x 開根 a 2 b 2.和四則運算。程式基本點 封裝和抽象 1 封裝成員資料,私有。2 分治思想,或樹形資料結構,來解決運算。子結果和運算數 抽象為同乙個型別。main.cpp include...