Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpOpCl 53 of 150 menu
◀ ▶

Оператор вызова в C++

Функцию вызывают именем и скобками с аргументами. Объект ведет себя так же, если в классе объявлен оператор вызова - метод с именем operator(). Его тело описывает, что происходит при записи obj(аргумент).

Запишем класс Greeter с полем prefix:

#include <string> class Greeter { public: std::string prefix = "Hello"; std::string operator()(const std::string& name) { return prefix + ", " + name; } };

Сейчас создадим объект и вызовем его со скобками:

int main() { Greeter hello; std::string line = hello("Ann"); std::cout << line << "\n"; return 0; }

Сделайте класс Banner с полем prefix. Вызов со строкой в скобках должен возвращать подпись через запятую. Проверьте префикс "Hi" и имя "Bob", результат выведите.

Создайте Banner с префиксом "Go", получите строку для "team" вызовом со скобками и выведите ее.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить