簡單c++實現複數的四則運算
#include
#include
#include
using namespace std;
class complex
{
private:
double real;
double unreal;
public:
complex(void):real(0),unreal(0){};
complex(double v_real,double v_unreal):real(v_real),unreal(v_unreal){};
complex(const complex & comx){
this->real = comx.get_real();
this->unreal = comx.get_unreal();
};
bool operator==(const complex& comx){
if(this->real == comx.real && this->unreal == comx.unreal){
return true;
}
return false;
};
//加法相關運算 (a+bi)+(c+di)=(a+c)+(b+d)i.
complex operator+(const complex& comx) {
complex result((this->get_real()+comx.get_real()),(this->get_unreal()+comx.get_unreal()));
return result;
};
complex operator+(const double a) {
complex tmp(a,0);
return (*this)+tmp;
};
void operator+=(const complex& comx) {
*this = (*this)+comx;
};
void operator+=(const double a) {
complex tmp(a,0);
*this += tmp;
};
//減法相關運算 (a+bi)-(c+di)=(a-c)+(b-d)i
complex operator-(const complex& comx) {
complex result((this->get_real()-comx.get_real()),(this->get_unreal()-comx.get_unreal()));
return result;
};
complex operator-(const double a) {
complex tmp(a,0);
return (*this)-tmp;
};
void operator-=(const complex& comx) {
*this = *this-comx;
};
void operator-=(const double a) {
complex tmp(a,0);
*this -= tmp;
};
//乘法相關運算 (a+bi)(c+di)=(ac-bd)+(bc+ad)i
complex operator*(const complex& comx) {
complex result((this->get_real())*(comx.get_real())-(this->get_unreal())*(comx.get_unreal()),
(this->get_unreal())*(comx.get_real())+(this->get_real())*(comx.get_unreal()));
return result;
};
complex operator*(const double a) {
complex tmp(a,0);
return (*this)*tmp;
};
void operator*=(const complex& comx) {
*this = (*this) *(comx);
};
void operator*=(const double a) {
complex tmp(a,0);
*this *=tmp;
};
//除法相關運算 :(a+bi)/(c+di)=(a+bi)*(c-di)* (1/(c*c+d*d))
complex operator/(const complex& comx){
complex tmp(comx.get_real(),comx.get_unreal()*(-1));
return (*this)*tmp*(1/(pow(comx.get_real(),2)+pow(comx.get_unreal(),2)));
}
complex operator/(const double a){
complex tmp(a,0);
return (*this)/tmp;
}
void operator/=(const complex& comx){
*this = (*this)/comx;
}
void operator/=(const double a){
complex tmp(a,0);
*this/=tmp;
}
virtual ~complex(void){};
double get_real() const {return this->real;};
double get_unreal()const {return this->unreal;};
};
int main(int argc, char *argv[])
{
complex a;
complex c(5,0);
complex b(3,3);
//(a+bi)(c+di)=(ac-bd)+(bc+ad)i
a = c*b;
cout<
a=a/5;
cout<
/* cout<
cout<
cout<
/* if(a==c) cout<
a=b;
if(a==b) {cout<
system("PAUSE");
return EXIT_SUCCESS;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20625855/viewspace-1252297/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 複數的四則運算(C語言實現)C語言
- Java簡單四則運算Java
- 演算法(3)簡單四則運算演算法
- XJSON 是如何實現四則運算的?JSON
- 正則實現數學運算
- 用python實現四則運算的生成與判定Python
- java大整數四則運算Java
- 四則運算
- php鏈式操作實現四則鏈式運算PHP
- 四則運算計算器
- 四則運算專案
- 四則運算手冊
- OJ1038 四則運算
- c++四則運算結對程式設計 2252416 黃子軒C++程式設計
- C++ 實現簡略計算π的程式C++
- 四則運算+-×÷同時成立的四連環(2)
- 四則運算+-×÷同時成立的四連環(4)
- 四則運算+-×÷同時成立的四連環(3)
- 四則運算+-×÷同時成立的四連環(1)
- 四則運算+-×÷同時成立的四連環(6)
- 編譯原理實戰入門:用 JavaScript 寫一個簡單的四則運算編譯器(修訂版)編譯原理JavaScript
- python四則運算生成器Python
- 結對專案四則運算
- 軟體工程結隊專案:基於C++實現的自動生成小學四則運算的命令列程式軟體工程C++命令列
- C++實現簡易計算器C++
- 簡單混合運算的計算器
- 軟體工作四則運算測試
- 結對程式設計-四則運算程式設計
- 實現一個自動生成小學四則運算題目的命令列程式命令列
- 基於c++的數學運算C++
- 位運算簡單操作
- python資料型別和四則運算Python資料型別
- 結對編碼-四則運算 2252118 2252121
- 課後作業——30道四則運算
- 簡單實踐實現 MySQL 主從複製MySql
- Java實現一個簡單的計算器Java
- 16_簡單計算器實現
- js實現四則計算(中綴,字尾表示式)JS
- 結對程式設計 小學四則運算程式設計