STL 過載運算子

2022-04-10 17:57:46 字數 937 閱讀 4502

過載運算子

為什麼要過載運算子:

c++中預定義的運算子的操作物件只能是基本資料型別。但實際上,對於許多使用者自定義型別(例如結構體),也需要類似的運算操作。這時就必須在c++中重新定義這些運算子,賦予已有運算子新的功能,使它能夠用於特定型別執行特定的操作。運算子過載的實質是函式過載,它提供了c++的可擴充套件性,也是c++最吸引人的特性之一。

什麼是過載運算子:

簡單來說:運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別。

如何實現:

運算子過載是通過建立運算子函式實現的,運算子函式定義了過載的運算子將要進行的操作。運算子函式的定義與其他函式的定義類似,惟一的區別是運算子函式的函式名是由關鍵字operator和其後要過載的運算子符號構成的。

運算子過載為類的成員函式的一般格式為:

《函式型別》 operator 《運算子》(《參數列》)const

以過載「<」運算子為例:

#include#include

using

namespace

std;

const

int maxn=100

;struct node//

定義結構體

}e[maxn];

intn;

intmain()

不使用過載運算子:

#include#include

using

namespace

std;

const

int maxn=100

;struct

node

e[maxn];

intn;

bool cmp(node x,node y)//

排序函式

intmain()

過載運算子與STL總結

運算子過載 1.用成員函式過載運算子 class x 例如 過載 使複數相加 include using namespace std class complex 複數類 定義初始化表初始化complex類 complex double r,double i real r imag i 宣告成員函式,...

過載運算子

題目描述 定義乙個矩形類,資料成員包括左下角和右上角座標,定義的成員函式包括必要的建構函式 輸入座標的函式,實現矩形加法,以及計算並輸出矩形面積的函式。要求使用提示中給出的測試函式並不得改動。兩個矩形相加的規則是 決定矩形的對應座標分別相加,如 左下角 1,2 右上角 3,4 的矩形,與 左下角 2...

過載運算子

include include using namespace std class test test const int a v a test const test t1 v t1.v 以下過載小於號 比較兩個物件的大小 bool operator const test t1 const 比較物件...