У меня есть класс Samp. В Samp.cpp я могу определить/объявить такую функцию, какОбъявление оператора + функции в C++
Samp& operator+(Samp& other) {
std::cout << "something";
return other;
}
Что это за функция? Как мне это назвать?
У меня есть класс Samp. В Samp.cpp я могу определить/объявить такую функцию, какОбъявление оператора + функции в C++
Samp& operator+(Samp& other) {
std::cout << "something";
return other;
}
Что это за функция? Как мне это назвать?
Это на самом деле одноместной +
, вы называете это так:
Samp s;
+s; // <-- here
@ buc Wat? Конечно, C++ имеет унарные '+'. Хотите развлечься с унарным '+'? Проверьте [this] (http://stackoverflow.com/questions/18889028) out :) –
Ну, это может быть двоичный член 'operator +' - но тот факт, что он возвращает ссылочный вид, делает его неправильным, но это все равно, потому что неясной семантики. – milleniumbug
@ DanielFrey: Это великолепно. Мне не пришло в голову, что это будет свободная функция. –
http://stackoverflow.com/questions/4622330/operator-overloading-member-function-vs-non-member-function –