簡單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
- linux shell 實現 四則運算(整數及浮點) 簡單方法Linux
- Linux Shell 實現四則運算(整數及浮點)簡單方法Linux
- 利用ANTLR4實現一個簡單的四則運算計算器
- 四則運算實現 (轉)
- 演算法(3)簡單四則運算演算法
- YTU-OJ-分數類的四則運算【C++】C++
- XJSON 是如何實現四則運算的?JSON
- 實現四則運算的一條sql語句SQL
- java大整數四則運算Java
- 四則運算
- 用python實現四則運算的生成與判定Python
- php鏈式操作實現四則鏈式運算PHP
- 第二次作業: 四則運算的實現
- 四則運算的開發
- 四則運算計算器
- 四則運算GUI版本GUI
- 四則運算小程式
- 四則運算----封裝封裝
- 安卓版四則運算安卓
- 四則運算——安卓版安卓
- 四則運算專案
- 四則運算手冊
- C++ std::list實現大整數加法運算C++
- 利用字串實現高精度數值運算(四)字串
- 四則運算之總結
- 四則運算介面練習
- 帶介面的四則運算
- 四則運算--封裝5.1封裝
- 四則運算app總結APP
- 個人專案--四則運算
- 正則實現數學運算
- 小學生四則運算App實驗成果APP
- 棧的應用——計算器的四則運算
- 【VB超簡單入門】八、四種運算
- Object-C,四則運算計算器Object
- 四則運算之主要程式碼