c 運算子過載練習

2021-09-18 08:00:50 字數 1727 閱讀 7932

以自定義複數型別為例:

#include#includeusing namespace std;

class complex

complex(double r, double i) :imag(i), real(r) {}

complex operator +(const complex &c2) const;

complex operator -(const complex &c2) const;

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

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

complex &operator --();//前置--

complex operator --(int);//後置--

void display() const;

double returnreal()const

double returnimag()const

//友元,非成員函式

friend complex operator *(const complex &c1, const complex &c2);

friend complex operator /(const complex &c1, const complex &c2);

private:

double imag;

double real;

};void complex::display() const

else if (imag < 0)

else

}else

else if (imag < 0)

else

}} //過載為成員函式

complex complex::operator+(const complex &c2) const

//過載為成員函式

complex complex::operator-(const complex &c2) const

//過載為成員函式

complex &complex::operator++()

//過載為成員函式

complex complex::operator++(int)

//過載為成員函式

complex &complex::operator--()

//過載為成員函式

complex complex::operator--(int)

//過載為非成員函式

ostream &operator <<(ostream &out, const complex &c)

else if (imag < 0)

else

}else

else if (imag < 0)

else

}return out;

}//過載為非成員函式,友元

complex operator *(const complex &c1, const complex &c2)

//過載為非成員函式,友元

complex operator /(const complex &c1, const complex &c2)

complex temp=c1*complex(c2.real,-c2.imag);

return complex(temp.real/len,temp.imag/len);

}int main()

c 運算子過載練習

利用運算子過載實現自己的mystring類 mystring.h pragma once include using namespace std class mystring mystring.cpp define crt secure no warnings include mystring.h ...

C 運算子過載練習

總時間限制 1000ms 記憶體限制 65536kb 在此處補充你的 描述 程式填空 include using namespace std class myint int inc int n int main return 0 輸入 多組資料,每組一行,整數n 輸出對每組資料,輸出一行,包括兩個整...

C 運算子過載練習

總時間限制 1000ms 記憶體限制 65536kb 在此處補充你的 描述 補足程式使得其輸出結果是 include include using namespace std struct a a int n n n int main 輸入無輸出 樣例輸入 無樣例輸出 40注意實際上a帶有const關...