實現了對複數的加減乘除四則運算,以及輸出,判斷相等,正負和共軛
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...