2015-09-04 75 views
-2

C++新手,我需要幫助理解一段代碼的作用。我得到了一個頭文件,其中包含一些我需要定義的函數,但我對某種意義甚至是開始定義它的方式有點遺憾。什麼是Equals Operator?它是如何工作的?

那就是:List& operator = (const List& source);

此外,如果你能告訴我,我怎麼會開始定義它,將真正幫助。因爲到目前爲止,這是我學會了如何定義函數:

ClassName::FunctionName { 
//Code goes here 
} 

因此,這是我會怎麼做呢?

List::List& { 
//Code goes here 
} 
+2

這是[運算符重載](http://en.cppreference.com/w/cpp/language/operators)。基本上,添加(重載)類的'='行爲。 – wendelbsilva

+3

你應該花一些時間學習C++。這裏是[書籍列表](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)。 – juanchopanza

+0

運算符重載是一件很酷的事情,你會在很多語言中找到它。好處是它添加了一些函數來啓用傳統的符號來創建你所創建的東西(類,結構)。例如,如果您創建了一個新類並想對其進行排序,則可以重載'<'運算符並使用[std :: sort](http://en.cppreference.com/w/cpp/algorithm/sort) 。 – wendelbsilva

回答

-1
ClassName::FunctionName { 
    //Code goes here 
} 

是不對的。它應該是

ReturnType ClassName::FunctionName(Parameters) { 
    //Code goes here 
} 

現在在你的榜樣類名List,返回類型是List&,函數名是operator=和參數const List& source。所以

List& List::operator=(const List& source) { 
    //Code goes here 
} 
相關問題