陣列操作符的過載

2021-10-10 23:07:40 字數 1003 閱讀 8554

string類物件還具備c方式字串的靈活性嘛?還能直接訪問單個字元嘛?

string s =

"alb2c3d4e"

;int n =0;

for(

int i =

0;i length()

;i++

)}

這樣子從語法的角度是合法的

陣列訪問符時c/c++中的內建操作符

陣列訪問符的原生意義是陣列訪問和指標運算

i[a] 等價與 a[i]:

*(i + a) == *(a + i)

陣列訪問操作符:

-只能通過類的成員函式過載

-過載函式能且僅能使用乙個引數

-可以定義不同引數的多個過載函式

操作符過載實現字串作為陣列下標訪問陣列

#include

#include

using

namespace std;

class

test

int&

operator

(const

char

* s)

intlength()

};intmain()

for(

int i =

0;ilength()

;i++

) cout << t[

"5th"

]<< endl;

cout << t[

"4th"

]<< endl;

cout << t[

"3rd"

]<< endl;

cout << t[

"2nd"

]<< endl;

cout << t[

"1sh"

]<< endl;

return0;

}

陣列操作符過載

c 裡面也可使用陣列運算操作符 例如 1 include 2 include 34 using namespace std 56 intmain 717 1819 cout n 2021 return0 22 但是不是我們定義 了乙個類後,就可以使用陣列訪問操作符了呢?被忽略的事實 陣列訪問符是c ...

操作符過載

ifndef vertex h define vertex h class vertex vertex float px float py float pz vertex operator const vertex p vertex operator const vertex p void oper...

操作符過載

1.操作符是靜態方法,返回值表示操作結果,引數是運算元。2.操作符過載需要在過載的操作符前加上operator關鍵字。3.最好少用操作符過載,只有在意義明晰而且與內建類的操作一致時才適合使用,以免造成混亂。以建立的分數類 fraction 中的 為例,該分數類中有兩個int型的私有屬性 分子 num...