c 運算子過載例項詳解(原創)初學者請進

2021-06-22 09:51:47 字數 2650 閱讀 8050

運算子過載例項詳解(原創)

1.哪些運算子可以用作過載?

幾乎所有的運算子都可用作過載。具體包含:

算術運算子:=,-,*,/,%,++,--

位操作運算子:—,|,~,^,<<,>>;

邏輯運算子:!&&,||;

比較運算子:>,<,>=,<=,==,!=

賦值運算子:=,+=,- = ,*=,%=,\=^=,<<=,>>=;

其他運算子:[ ],()->, ',new,delete,new,delete,->* .

運算子有兩種過載形式:成員函式形式和友元函式形式。這兩種形式都可訪問類中的私有成員。

以下為例項說明,請仔細閱讀哦,對你很有用。(這可都是我在dev c++上執行過的,保證正確!!!)

一元運算子

#include

#include

using namespace std; 

class integer      

public:

integer(long n=56):i(n){}           

friend const integer &operator + (const integer &a); 

friend const integer operator - (const integer &a); 

friend const integer operator ~ (const integer &a); 

friend integer *operator & ( integer &a); 

}; const integer &operator +(const integer &a)

plural(long n,long m)           

friend const plural operator + (const plural &l,const plural &r); 

friend const plural operator - (const plural &l,const plural &r); 

friend const plural operator * (const plural &l,const plural &r); 

// friend const integer operator / (const integer &l,const integer &r); 

friend void print(const plural &p);

}; const plural operator +(const plural &l,const plural &r)

const plural operator -(const plural &l,const plural &r)

const plural operator *(const plural &l,const plural &r)

// const plural operator /(const plural &l,const plural &r)

void print(const plural &i)

int main() 

賦值運算子過載為成員函式的例子

有的雙目運算子還是過載為成員函式為好,例如,賦值運算子 =

#include

#include

using namespace std;

class a

a(int i,int j) 

a(a &p)

a& operator =(a &p);

int getx()

int gety()

private:

int x,y;              

};a& a::operator =(a &p)

int main(int argc, char *argv)

counter operator ++();

counter operator ++(int);

void print()

執行該程式輸出的結果:816

過載函式呼叫運算子

可以將函式呼叫運算子()看成是下標運算子[ ]的擴充套件。函式呼叫運算子可以帶0個至多個引數。

#include

#include

using namespace std;

class counter;

double counter::operator ()(double x,double y) const

int main(int argc, char *argv)

{counter c;

cout《執行該程式輸出如下結果:

14.3

說明:f(1.5,.2.2)被編譯為f.operator()(1.5,2.2)

const,這是因為過載函式不改變被操作物件的狀態。

XPath 初學者進門教程 XPath 運算子

xpath 表示式可返回節點集 字串 邏輯值以及數字。下面列出了可用在 xpath 表示式中的運算子 運算子描寫 例項返回值 盤算兩個節點集 book cd 返回所有帶有 book 和 ck 元素的節點集 加法 6 410 減法6 42 乘法6 4 24div 除法8 div 42 即是price ...

C 運算子過載例項

以下示例中定義了乙個class test,過載了 等符號 include include using namespace std class test test const int a v a test const test t1 v t1.v 以下過載小於號 比較兩個物件的大小 bool oper...

C 例項 運算子過載

文章 c 例項 運算子過載 一 兩個複數的加法運算 二 複數的加減乘除運算 三 複數與標準型資料之間的運算,順序任意 四 兩個矩陣間的運算與輸出 行列任意 五 複數與double型資料的運算 六 不同類物件的轉換 一 定義一複數類complex,過載運算子 用於複數的加法運算,將運算子過載函式定義為...