看板 C_and_CPP 關於我們 聯絡資訊
借用標題問一下~~ class Array { public: const Array& operator=(const Array&); 略 }; //const return avoids: (x=y)=z const Array& Array::operator=(const Array& a) { 略 return *this; //enable cascading x=y=z } 照螞蟻書的說法 member function overloading leftmost 必須是此class 的object 並且會做一個代換的動作 如:A = B => A.operator=(B) 如果現在要cascading A = B = C 照程式的寫法不是應該是 A.operator(B) = C (A = B) = C 不過執行出來的結果是如一般預期的 A = B = C 是因為 = 是 right to left 所以他一樣會從最右邊開始運作嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.156.44
diabloevagto:右到左沒錯 11/25 16:22
johnhmj:把它當成是"自定義的設定(函式)"就好了( ̄ー ̄;) 11/25 22:16