c 類成員函式定義方法與運算子過載 2

2021-10-05 10:29:02 字數 1760 閱讀 3727

1.裡面蘊含建構函式的呼叫時機

complex complex::

sub(complex c)

return返回的是乙個無名函式,但是在return結束後是呼叫了乙個拷貝建構函式,這與區域性變數在函式結束時釋放一點也不矛盾,這裡指的是3

2.給物件賦值的兩種方式

complex a(1.8,-2.4),b(4.3,4.7);

complex c=a.add(b); //給物件賦初值的又一方式

3.this指標

complex complex::

operator

+(complex c)

這裡其實可以改寫為

complex z(this->real+c.real,this->image+c.image);

誰呼叫它this指標便指向誰

4.運算子過載

//加法 運算子過載函式

complex complex::

operator

+(complex c)

#include

using

namespace std;

class

complex

complex add

(complex c)

; complex sub

(complex c)

;//operator+是函式名,實現 加法 運算子過載

complex operator

+(complex c)

; complex operator

-(complex n)

;void

print()

;}; complex complex::

add(complex c)

complex complex::

sub(complex c)

void complex::

print()

//加法 運算子過載函式

complex complex::

operator

+(complex c)

complex complex::

operator

-(complex n)

intmain

(void){

complex a

(1.8,-

2.4),b

(4.3

,4.7);

complex c=a.

add(b)

;//給物件賦初值的又一方式

complex d=a.

sub(b)

; c.

print()

; d.

print()

;//e=a+b

complex e;

e=a+b;

//加法運算子過載,編譯器自動轉化成

//e=a.operator+(b)

的中間塊)系統預設寫

cout<<

"++++++加法 運算子過載結果"

print()

; cout<<

"------------- 減法運算子過載函式"

f=a-b;

f.print()

;

C 運算子過載函式之成員運算子過載函式

5.2.3 成員運算子過載函式 在c 中可以把運算子過載函式定義為某個類的成員函式,稱之為成員運算子過載函式。1.定義成員運算子過載函式的語法形式 1 在類的內部,定義成員運算子過載函式的格式如下 函式型別 operator 運算子 形參表 2 成員運算子過載函式也可以在類中宣告成員函式的原型,在類...

C 成員運算子

點 運算子和 箭頭 運算子用於引用類 結構和共用體的成員。點運算子應用於實際的物件。箭頭運算子與乙個指向物件的指標一起使用。例如,假設有下面的結構 struct employee emp 下面的 把值 zara 賦給物件 emp 的first name成員 strcpy emp first name...

C 類成員訪問運算子 過載

類成員訪問運算子 可以被過載,但它較為麻煩。它被定義用於為乙個類賦予 指標 行為。運算子 必須是乙個成員函式。如果使用了 運算子,返回型別必須是指標或者是類的物件。運算子 通常與指標引用運算子 結合使用,用於實現 智慧型指標 的功能。這些指標是行為與正常指標相似的物件,唯一不同的是,當您通過指標訪問...