以自定義複數型別為例:
#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關...