2013-10-10 3 views
6

У меня есть класс Samp. В Samp.cpp я могу определить/объявить такую ​​функцию, какОбъявление оператора + функции в C++

Samp& operator+(Samp& other) { 
    std::cout << "something"; 
    return other; 
} 

Что это за функция? Как мне это назвать?

+0

http://stackoverflow.com/questions/4622330/operator-overloading-member-function-vs-non-member-function –

ответ

11

Это на самом деле одноместной +, вы называете это так:

Samp s; 
+s; // <-- here 
+2

@ buc Wat? Конечно, C++ имеет унарные '+'. Хотите развлечься с унарным '+'? Проверьте [this] (http://stackoverflow.com/questions/18889028) out :) –

+0

Ну, это может быть двоичный член 'operator +' - но тот факт, что он возвращает ссылочный вид, делает его неправильным, но это все равно, потому что неясной семантики. – milleniumbug

+0

@ DanielFrey: Это великолепно. Мне не пришло в голову, что это будет свободная функция. –

Смежные вопросы