c++
復合運算
成員函式,友元,運算子過載。
**基於visual studio 2013 update 4
etc.
// diytypecal.cpp :
定義控制台應用程式的入口點。
//#include "stdafx.h"
#include
//複數運算
class
complex
void
output
();//complex add(complex c);
//complex add(double r);
////
通過友元進行非成員函式運算
//friend complex add(complex c1, complex c2);
//friend complex add(complex c, double r);
//friend complex add(double r, complex c);
////
運算子過載
//complex operator +(complex c);
//complex operator +(double r);
//補個乘法
complex
operator
*(complex c
);complex
operator
*(doubler);
//通過友元進行非成員函式運算子過載
friend
complex
operator
+(complex c1
,complex c2
);friend
complex
operator
+(complex c
,doubler);
friend
complex
operator
+(doubler,
complex c
);};
complex complex
::operator
*(complex c
)complex complex
::operator
*(doubler)
////
運算子過載函式
//complex complex::operator+(complex c)
//complex complex::operator+(double r)
//通過友元進行非成員函式運算子過載
complex
operator
+(complex c1
,complex c2
)complex
operator
+(complex c
,doubler)
complex
operator
+(doubler,
complex c
)////
友元運算函式
//complex add(complex c1, complex c2)
//complex add(complex c, double r)
//complex add(double r, complex c)
//通用輸出函式
void
complex
::output
()else
}////
成員運算函式
//complex complex::add(complex c)
//complex complex::add(double x)
int_tmain
(int
argc
,_tchar
*ar**
)
C 運算子過載相關知識
c 允許在同一作用域中的某個函式和運算子指定多個定義,分別稱為函式過載或者運算子過載。程式設計師可以重定義或過載大部分 c 內建的運算子。這樣,他就能使用自定義型別的運算子。過載的運算子是帶有特殊名稱的函式,函式名是由關鍵字 operator 和其後要過載的運算子符號構成的。與其他函式一樣,過載運算...
cpp 復合型別 函式 運算子過載
c 引入運算子過載機制目的為了類型別 列舉型別 模仿內建型別運算子操作,因此運算子過載必須確保至少乙個引數為類型別 列舉型別 且必須是物件形式,而非指標 引用 形式 enum epoint5 epoint5 operator epoint5 point1,int point2 return zero...
C 引用 與 運算子過載
c 中,引用其實還是靠指標實現的 為什麼要引入引用呢?c 之父說,最初是為了實現運算子過載方便,下面舉個例子 例如 c a b是可以接受的寫法,而c a b 就不是很方便而且有歧義了 那麼下面說一下,哪些運算子過載必須用引用呢 運算子,它本身的意義是 自增,並返回自增後的值 所以就要返回自己,而不是...