c 復合運算與過載相關

2022-09-08 11:15:13 字數 1911 閱讀 6948

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 就不是很方便而且有歧義了 那麼下面說一下,哪些運算子過載必須用引用呢 運算子,它本身的意義是 自增,並返回自增後的值 所以就要返回自己,而不是...