C 實現複數類

2021-08-03 05:33:57 字數 1988 閱讀 8330

complex類的成員變數有實部與虛部:

protected: 

double _real; 

double _image;

c++中的complex類的基本函式,包括四個預設成員函式,比較運算子過載函式,賦值運算子過載函式,以及前置++與後置++的過載。

四個預設成員函式是(1)建構函式:在定義物件時初始化成員變數,函式名與類名相同,無返回值(void也不能有),物件例項化時系統自動呼叫

(2)拷貝建構函式:是一種特殊的建構函式,是對建構函式的過載,用同類物件初始化成員變數

(3)析構函式:函式名是在類名前加~,無引數無返回值,函式作用是做一些清理工作,在物件生命週期結束時系統自動呼叫

(4)賦值運算子過載:operator+合法的運算子構成運算子過載

**實現:

#define _crt_secure_no_warnings 1

#include

using namespace std;

class complex

complex(const complex& d)          //拷貝函式

~complex()       //析構函式

complex& operator=(const complex& d)         //賦值運算子過載

return *this;

}void display()const                //列印複數

bool operator==(const complex& d)             //==

bool operator!=(const complex& d)             //!=

//複數只有當虛部為0時,即_image=0時,才可以比較大小,這時比較的是實部即_real的大小

bool operator>(const complex& d)          //>

else

}bool operator<(const complex& d)           //<

else

}bool operator<=(const complex& d)           //<=

else

}bool operator>=(const complex& d)           //>=

else

}complex operator+ (const complex& d)           //+

complex& operator+=(const complex& d)          //+=

complex& operator++()            //前置++

complex operator++(int)         //後置++

protected:

double _real;

double _image;

};1、測試用例test()------測試建構函式,以及==和!=以及+運算子的過載

[csharp]view plain

copy

void

test()    

析構函式是清理工作,當生命週期結束時系統自動呼叫。

2、測試用例test1()------------測試+=運算子

[csharp]view plain

copy

void

test1()    

3、測試用例test2()---------測試前置++與後置++

[csharp]view plain

copy

void

test2()   

4、測試用例test3()--------測試》/>=/[csharp]view plain

copy

void

test3()    

c 實現複數類

主要是練習用運算子過載實現複數的一些基本運算,包括 複數加法 過載的運算子 前置 後置 複數減法 過載的運算子 前置 後置 複數乘法 過載的運算子 複數除法 過載的運算子 如下 includeusing namespace std class complex 建構函式 complex const c...

C 實現複數類

用c 語言實現乙個複數類,包括複數加 減 乘 除 加等 減等 乘等及除等8個運算子的過載。include using namespace std class complex 複數類 類外實現成員函式 complex complex const double real,const double ima...

複數類 一 C 實現

using system using system.collections.generic using system.text namespace csharpalgorithm.algorithm set private double imaginary 0.0 虛部 public double ...