@Ensiouel

Как сделать «переопределение» функции в c++?

Доброго времени суток, сразу прошу тапками не кидаться.
Предположим у меня есть какой нибудь класс Enemy, у которого есть функция update, как мне сделать так, чтоб можно было ее "переопределить", знаю, что термин не особо верен, надеюсь с примерным кодом будет понятнее.

#include <iostream>
class Enemy {
    public:
    void update() {
    }
}
int main(int argc, char* argv[]) {
    Enemy enemy;
    /*И тут к примеру как нибудь так*/
    enemy::update() {
        std::cout << "Hello";
    }
    return 0;
}
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
@MarkusD Куратор тега C++
все время мелю чепуху :)
Твой вопрос можно решить таким способом.
#include <iostream>
#include <functional>

class Enemy final
{
public:
	std::function<void()> update = []() {};
};

int main( int argc, char* argv[] )
{
	Enemy enemy;
	enemy.update = []() { std::cout << "Hello"; };

	enemy.update();
	return 0;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы