C 類 運算子過載 3

2021-08-21 14:43:25 字數 1560 閱讀 3209

過載左移操作符和右移操作符

過載等號操作符

a. 我們首先知道<>的順序是從左往右執行的。

int a=2

;//cout<

; cout

b. **:過載《運算子

class test

~test()

};//void operator<

//ostream&

ostream& operator

<

int main()

c. **: 過載》運算子

class test

~test()

void printf()

};istream& operator>>(istream&in, test& a)

int main()

a. 類物件中只有普通變數時:

b. 類物件中有指標變數的時候:

class test

~test()

cout

<< "物件被釋放"

上面是執行預設的賦值操作,會出現問題。我們下面過載賦值運算子,達到深拷貝的目的。

class test

~test()

cout

<< "物件被釋放"

<< endl;

}int* getp()

//賦值運算子實現深拷貝

test& operator=(test& a)

p = new

int(*a.p);

return *this;

}};//深拷貝和淺拷貝的區別: 深拷貝需要重新開闢記憶體空間 淺拷貝不需要重新開闢記憶體空間

//當類中有指標變數的時候,我們需要手動的寫運算子過載(賦值),實現深拷貝

int main()

a. 友元函式過載運算子使用注意點:

test a

;a =a+25

;

=  () ->
b. 過載賦值運算子的步驟:

test a,b;

b=a;

注意: (1). 函式返回值當左值的時候,必須返回引用;

(2). 不要返回乙個臨時變數的引用或者指標。

運算子過載 類 C

運算子過載 就是對已有的運算子 c 中預定義的運算子 賦予多重的含義,是同乙個運算子作用與不同型別的資料是導致不同型別的行為 實質 函式過載 1 可以過載為普通函式也可以過載為成員函式 2 把含運算子的表示式轉換成對運算子函式的呼叫 3 把運算子的運算元轉換 成 運算子函式的引數 4 運算子被多次過...

類和物件 運算子過載 3 遞增運算子過載

作用 通過過載遞增運算子,實現自己的整型資料 include include using namespace std 自定義整型 class myinteger 過載前置 運算子 myinteger operator 返回引用為了一直對乙個資料進行遞增操作 過載後置 運算子 myinteger op...

運算子類過載

類過載格式 函式型別 operator 運算子名稱 形參表 型引數 使用引數 1 使用 號實現複數相加 不使用類過載 include using namespace std class complex complex double r,double i complex complex add com...