c 運算子過載能否讓兩個類的指標相加

時間 2021-09-02 07:14:46

1樓:匿名使用者

呼叫a+b,

如果a和b都是指標,就無法進行操作符過載,他不符合c++類操作符過載規則,它的其中一個規則:必須有一個引數是一類為引數的。

如果a,b是類,就能容易過載。

val* operator + (val* a,val* b) 不能通過編譯

2樓:匿名使用者

1.第一行的運算子過載為什麼最後myvector後面要加一個v,好像並沒有定義啊?

這是函式的形式引數,就好像你定義int fun(int i){}裡面的i一樣。

2.第一行為什麼是myvector myvector::operator()而不是myvector::opertator()為什麼要重複一次。

第一個是返回值型別,第二個是類名

3.this 這個句子中的v.x指的是什麼啊?this->x+v.x 這兩個x分別是什麼啊?

this->x指的是當前物件的成員x,v.x指的是引數v的成員x

關於運算子過載,可以參考

關於this指標,可以參考

3樓:香絮閣

指標的加,乘,除,模等運算沒有任何意義。

4樓:季敏

public val* operator + (val* a,val* b)

c 輸出運算子過載問題,C 運算子過載 為什麼流運算子不能過載為成員函式?

呵呵,ostream os就是cout 所以cout node endl 就是先 cout node 根據friend ostream operator ostream os node temp 知輸出node,然後生成新的流物件cout,就變成了cout endl,又是cout 和endl的過載,...

程式設計序,用成員函式過載運算子和將兩個矩陣(這兩個矩陣均為2行3列)相加和相減

大野瘦子 如下 include include using namespace std class maxtrix private int maxtrix 2 3 public maxtrix for int i 0 i 2 i for int j 0 j 3 j maxtrix i j 3 i j...

C 題目,關於運算子優先順序,一個C 題目,關於運算子優先順序

樓上的不對,的優先順序高於乘,所以是 a a 然後a還是5,就是5x5 25了 這個問題在不同的機器上執行結果不同,結果是未定義的,程式設計的時候要避免這個。有關這個問題你去迅雷上面搜一下 pointers on c c 和指標 這本書裡面涉及到運算子的部分對這個問題有詳細的講解。我查了一下,在83...