Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка в операции присвоения Внимание, вопрос, почему не заменяется тайл в условии if (TileMap == 's') {TileMap == ' ';} Спасибо за внимание)) Код: #include <SFML/Graphics.hpp> #include <iostream> #include <map>... https://www.cyberforum.ru/ cpp-beginners/ thread2495558.html C++ Класс математической дроби и его проблемы
Привет всем!=) В процессе изучения ООП в с++ я решил написать клас математических дробей. Написал парочку конструкторов-деструкторов, вспомогательных методов(напр. canConvTo10()-возможность...
C++ Архитектура парсера социальных сетей https://www.cyberforum.ru/ cpp-beginners/ thread2495475.html
Здравствуйте, я начинаю работать над своим учебным проектом. Писать его буду в основном на с++. Кроме того, буду использовать другие языки программирования для различных вспомагательных модулей. ...
C++ Нахождение корня n-ой степени Задача про нахождение корня n-ой степени из числа а. Метод - деление отрезка пополам, метод в других применяю, тут какой-то ступор.... Что не так? #include <iostream> #include <string>... https://www.cyberforum.ru/ cpp-beginners/ thread2495472.html
C++ C++ ООП Двусвязный список
Нужно из односвязного списка сделать в двусвязный список Знаю что Двусвязный список имеет два указателя , но реализовать в коде что-то не могу :scratch: Вот код односвязного списка #include...
C++ Как отобразить кирилицу в таблице игри змейка https://www.cyberforum.ru/ cpp-beginners/ thread2495441.html
Как отобразить кирилицу в таблице игри змейка с консоли cl /EHsc main.cpp CGame.cpp CScreen.cpp CSnake.cpp SCoord.cpp смотреть файл CGame.cpp строки 162 - 194
C++ Ввод чисел с клавиатуры, до перевода на новую строку https://www.cyberforum.ru/ cpp-beginners/ thread2495439.html
Всем привет, не могу понять как остановить ввод чисел в нужный момент ( а именно, когда встретим перевод на новую строку ) Входные данные Первая строка содержит количество тестов. Каждый тест...
C++ Темы для изучения С++
Привет всем, поступил я после 11 класса в универ на факультет Фундаментальная информатика и информационные технологии, узнал что с++ там основной язык будет изучаться, так воот, если кто учился в...
C++ Передача переменной в функцию с одновременным присвоением другого числа Решал задачки, и в попытке с економить место пытался передать два раза одну и туже переменную, только еще и поменять значение этой переменной при второй передаче. В результате получил что оба... https://www.cyberforum.ru/ cpp-beginners/ thread2495432.html C++ Vector, list for beginners https://www.cyberforum.ru/ cpp-beginners/ thread2495417.html
Доброго времени суток. Поскольку самоучитель Лафоре не подходит для начинающих ( https://www.cyberforum.ru/cpp-beginners/thread2487393-page2.html#post13748671 ), я взял Страуструпа (Бьярне...
Полицейские-рекруты* C++
Всем привет помгаите решить задачу используя <iostream> <vector> Недавно в вашем городе открылось отделение полиции. Сейчас идет набор кадров для работы в новом отделении. А тем временем,...
C++ Совместимость C и C++ https://www.cyberforum.ru/ cpp-beginners/ thread2495381.html
Здравствуйте! Если написать программу на C, компилятор C++ её скомпилирует? Есть ли совместимость от C к C++? Спасибо!
15048 / 8067 / 1940
Регистрация: 30.01.2014
Сообщений: 13,678
31.08.2019, 03:31 0

Отбросить виртуальность колбэка - C++ - Ответ 13799634

31.08.2019, 03:31. Показов 1112. Ответов 8
Метки (Все метки)

Ответ

sendless, по-моему тут не эту проблему надо решать, а пересматривать дизайн из-за которого она появилась. Почему мы вдруг вообще хотим от виртуального метода невиртуального поведения?

Может быть сделать так?
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <functional>
#include <utility>
 
template< class T, class F >
void Invoker(T* target, F&& caller)
{
    std::invoke(std::forward< F >(caller), *target);
}
 
class Super
{
public:
    void Subscribe() {
        Invoker(this, &Super::FoobarS);
    }
 
private:
    void FoobarS() {
        std::cout << " S U P E R " << std::endl; 
    }
    
    virtual void Foobar() { 
        FoobarS(); 
    }
};
 
class Derived : public Super
{
private:
    virtual void Foobar() { 
        std::cout << " D E R I V E D" << std::endl; 
    }
};
 
int main()
{
    Derived d;
    d.Subscribe();
}


Вернуться к обсуждению:
Отбросить виртуальность колбэка C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.08.2019, 03:31
Готовые ответы и решения:

Виртуальность и наследование
Очень интересный вопрос! #include &lt;iostream&gt; class Super { public: virtual void print()...

Перегрузка Виртуальность
Чем отличается перегрузка от виртуальности?

Виртуальность friend-метода в базовом классе
Привет всем. Прошу посмотрите данный код. В производном классе реализована перегрузка оператора...

Возвращение результата колбэка обратно в вызвавшую его функцию
WebClient wc = new WebClient(); wc.BaseAddress = urlFile; ...

8
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.08.2019, 03:31

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Результат колбэка вернуть как результат функции
Добрый день, подскажите плииииз, такое в принципе возможно? (потери в продуктивности не важны) ...

Отбросить нули
Ребят помогите отбросить нули. Например я ввожу 0000000000000005,45 а он должен принимать 5,45. И...

Как отбросить ненужное
Программа принимает 4 числа и вставляет их в формулу. Как сделать так, чтобы, если ввели знак или...

Отбросить все теги.
Есть строка $eader, содержащая html теги. Например, &quot;&lt;h2&gt;&lt;center&gt;Теория&lt;/center&gt;&lt;/h2&gt;&quot;, или...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.