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