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 運算子過載時過載賦值運算子和下標運算子時型別中的 是什麼意思?為什麼要加?
過載運算 在需要過載的類中宣告 classname operator int i 就可以了。引數i是代表傳入的 括號中的值 索引 因為我們使用 的使用會用到類似 a i value的表示式去賦值,所以返回類的引用可以支援賦值操作。這裡有我修改的一段示例 上上西 給個示例,以樓上 為基礎,再包含標頭檔...
c 輸出運算子過載問題,C 運算子過載 為什麼流運算子不能過載為成員函式?
呵呵,ostream os就是cout 所以cout node endl 就是先 cout node 根據friend ostream operator ostream os node temp 知輸出node,然後生成新的流物件cout,就變成了cout endl,又是cout 和endl的過載,...
c 過載運算子用於輸出複數
阿君 宣告為友元類,friend ostream operator 實現部分 ostream operator 書道聖儒 過載輸出運算子 include class ccomplex ccomplex double rv ccomplex double rv,double iv friend cco...