過載左移操作符和右移操作符
過載等號操作符
a. 我們首先知道<>的順序是從左往右執行的。
b. **:過載《運算子int a=2
;//cout<
; cout
c. **: 過載》運算子class test
~test()
};//void operator<
//ostream&
ostream& operator
<
int main()
a. 類物件中只有普通變數時:class test
~test()
void printf()
};istream& operator>>(istream&in, test& a)
int main()
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...