自從我上一次編程類(回到春季)以來,已經過去了幾個月,我試圖在重載一個類的操作符之前做一些練習回去上課。我從來不明白的一件事是在函數名稱中放置&運算符。例如:瞭解重載插入/提取操作符的語法(&操作符放置)
ostream & operator << (ostream & Out, const Measurement & X)
第一&的位置似乎有些奇怪,因爲我們通常將參考運營商,我們希望成爲一個參考對象的前面,但第一個被放置operator <<
之前。這裏是operator <<
的對象嗎?
我很抱歉,我們的教授從來沒有解釋過這個語法,只是教會我們不要質疑它,我不喜歡。我想完全理解語法。
編輯:我已經包含了下面的全部功能。
ostream & operator << (ostream & Out, const Measurement & X)
{
Out << "Inches : " << X.Inches;
Out << "\nFeet : " << X.Feet;
Out << "\nMiles : " << X.Miles;
Out << "\n";
return Out;
}
*第一&似乎有些奇怪,因爲我們通常將參考操作對象中的*前的位置 - 鑑於描述中, '&'不是引用操作符,它是'操作符地址' - 完全不同的含義,儘管使用了相同的符號。 – PaulMcKenzie