過載運算子
為什麼要過載運算子:
c++中預定義的運算子的操作物件只能是基本資料型別。但實際上,對於許多使用者自定義型別(例如結構體),也需要類似的運算操作。這時就必須在c++中重新定義這些運算子,賦予已有運算子新的功能,使它能夠用於特定型別執行特定的操作。運算子過載的實質是函式過載,它提供了c++的可擴充套件性,也是c++最吸引人的特性之一。
什麼是過載運算子:
簡單來說:運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別。
如何實現:
運算子過載是通過建立運算子函式實現的,運算子函式定義了過載的運算子將要進行的操作。運算子函式的定義與其他函式的定義類似,惟一的區別是運算子函式的函式名是由關鍵字operator和其後要過載的運算子符號構成的。
運算子過載為類的成員函式的一般格式為:
《函式型別》 operator 《運算子》(《參數列》)const
以過載「<」運算子為例:
#include#includeusing
namespace
std;
const
int maxn=100
;struct node//
定義結構體
}e[maxn];
intn;
intmain()
不使用過載運算子:
#include#includeusing
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 比較物件...