運算子過載函式:實現物件之間進行算數運算,(實際上是物件的屬性之間做運算),包括+(加號)、-(減號)、*、/、=、++、--、-(負號)、+(正號)
運算子過載函式分為:普通友元運算子過載函式、成員友元運算子過載函式、成員運算子過載函式
運算子運算子過載函式按運算型別為:雙目運算子過載函式,如加、減、乘、除、賦值; 單目運算子過載函式:自加、自減、取正負號
切記:成員運算子. 和->,sezeof等不能過載。運算子過載函式的引數至少有乙個是類型別或引用型別,
下面為友元運算子過載函式舉例:
1 #include2執行結果:using
namespace
std;
3class
complex4;
14 complex::complex(double r,double
i) //在類外定義函式,需要用::作用域符號
1519 complex operator+(complex &a,complex &b)
2026 complex operator-(complex &a,complex &b)
2733
void
complex::print()
3439
int main(int agrs,const
char *agrv)
40
2.3+4程式猿神奇的手,每時每刻,這雙手都在改變著世界的互動方式!.6i3.6+2
.8i5.9+7
.4i-1.3+1
.8iprogram ended with exit code:
0
運算子過載,友元函式
運算子過載 include using namespace std class cint cint const cint timp public cint operator const cint timp const cint add const cint timp const cint add c...
c 過載運算子 友元函式
運算子的過載使得我們可以更加方便的使用常見的運算子進行操作。過載運算子的函式格式如下 operatorop argement list 接下來的例子中,我們將定義乙個time類,並通過過載運算子 和 來實現時間的加法和輸出顯示,其中會使用友元函式 friend ifndef time h defin...
友元運算子過載
運算子就是一種特殊的函式 運算子過載可以是普通函式 const money operator const money a1,const money a2 可以是成員函式 const money operator const money a2 const 當二元運算子作為成員函式進行過載時,只有乙個引...