首頁 >後端開發 >C++ >如何重載好友運算子 `

如何重載好友運算子 `

DDD
DDD原創
2024-11-01 02:59:27568瀏覽

How to Overload Friend Operator `

重載友元運算子

當嘗試重載

在提供的程式碼中,

<code class="cpp">friend ostream&amp; operator<<(ostream&amp;, Pair<T,U>&amp;);</code>

但是,編譯器建議加上函數名稱的括號,表示它應該被聲明為模板函數。正確的語法是:

<code class="cpp">friend ostream&amp; operator<< <> (ostream&amp;, Pair<T,U>&amp;);</code>

這聲明了

記住,模板函數宣告也應該放在 Pair 類別模板定義之前,以確保編譯器在解析友元宣告時會辨識模板函數。具有正確友元宣告和模板函數宣告的更正後的程式碼:

<code class="cpp">template <class T, class U> class Pair;

template <class T, class U>
ostream&amp; operator<< <> (ostream&amp;, Pair<T,U>&amp;);

// Pair template class definition...</code>

以上是如何重載好友運算子 `的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn