操作符的過載以及陣列 vector物件的初始化

2021-06-04 08:17:11 字數 1027 閱讀 1321

>> cat operator.c 

#include #include using namespace std;

class a

a(const a &x)

a& operator=(int i)

operator int()

private:

int a;

};int main()

執行結果:

>> ./a.out

i am in a()

i am in operator()

i am in operator int()

4test array of a

i am in a()

i am in a()

i am in a()

i am in a()

i am in a()

i am in a()

i am in a()

i am in a()

i am in a()

i am in a()

test vector of a

i am in a()

i am in a(const a&)

i am in a(const a&)

i am in a(const a&)

i am in a(const a&)

i am in a(const a&)

i am in a(const a&)

i am in a(const a&)

i am in a(const a&)

i am in a(const a&)

i am in a(const a&)

物件陣列:呼叫default constructor來初始化每個物件

vector:先呼叫default constructor生成乙個臨時物件,然後呼叫拷貝建構函式來初始化每個元素。

陣列操作符過載

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

陣列操作符的過載

string類物件還具備c方式字串的靈活性嘛?還能直接訪問單個字元嘛?string s alb2c3d4e int n 0 for int i 0 i length i 這樣子從語法的角度是合法的 陣列訪問符時c c 中的內建操作符 陣列訪問符的原生意義是陣列訪問和指標運算 i a 等價與 a i ...

操作符過載

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...