Форум программистов, компьютерный форум CyberForum.ru

Почему вызывается не тот метод? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заменить значения всех элементов третьего столбца массива на число -12 http://www.cyberforum.ru/cpp-beginners/thread691557.html
а) Заменить значения всех элементов третьего столбца массива на число -12 б) Заменить значения всех элементов четвертой строки массива на число 4
C++ Стегография с ВАВ-файлом Набросал такой вот код. Прячу информацию в последнии 2 бита звуковых данных. Правильно ли сделано? // конкретно запись необходимого бита void MyStego(bool q, int w, unsigned char e, int r) { // читаем данный бит, если равен 1, то if (e&r) // если нужно записать 0, то if (!q) // обнуляем его e=e&(~(1<<r)); http://www.cyberforum.ru/cpp-beginners/thread691554.html
Уменьшить все элементы массива на 20 C++
a) уменьшить на 20 б) умножить на последний элемент в) увеличить на число B
Динамический массив C++
Усорвие: Переделать программу, используя в качестве контейнера для хранения данных динамические массивы. Для обработки данных использовать указатели на функции. Параметры функциям передавать с помощью ссылок и указателей. Обеспечить прозрачный мониторинг использования динамически распределяемой памяти. Помогите(очень нужно на завтра) Буду очень благодарен! #include "stdafx.h" #include...
C++ В одномерном массиве состоящий из n элементов вычислить количество элементов массива, меньших C http://www.cyberforum.ru/cpp-beginners/thread691544.html
:::::::
C++ Нахождение максимальной цифры в числе Надо составить программу, которая находит максимальную цифру в числе: #include <iostream> #include <math.h> #include <conio.h> using namespace std; double calculate(int x); int main() { int x; cout<<"Vvedite x: "; подробнее

Показать сообщение отдельно
stan98
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 24
07.11.2012, 21:13     Почему вызывается не тот метод?
При вызове метода Highlight() у экземпляра SomrClass вызывается базовая реализация

C++
1
2
3
4
5
6
7
class cBackLightListener
    {
        public:
            cBackLightListener();
            ~cBackLightListener();
            virtual void Highlight();
    };
C++
1
2
3
4
void cBackLightListener::Highlight()
    {
    
    }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class cBackLightDispatcher
    {
        public:
            cBackLightDispatcher();
            virtual ~cBackLightDispatcher();
            void AddListener(cBackLightListener item);
            void RemoveListener();
            void RequestBackLighting();
            void CancelBackLighting();
 
        private:
            std::vector <cBackLightListener> ListenerContainer; 
                    
    };
C++
1
2
3
4
5
6
7
8
9
10
11
12
void cBackLightDispatcher::AddListener(cBackLightListener item)
    {
        ListenerContainer.push_back(item);
    }
    
    void cBackLightDispatcher::RequestBackLighting()
    {
        for(int i = 0; i < ListenerContainer.size(); i++ )
        {
            ListenerContainer[i].Highlight();
        }
    }
C++
1
2
3
4
5
6
7
8
9
class SomeClass :  public cBackLightListener
    {
    public:
        
        //.....
 
        void Highlight();
 
    };
Подскажите плиз в чем проблема

- пытался делать чисто виртуальную функцию - в этом случае ругается в другом классе - cBackLightDispatcher , где обьекты cBackLightListener добавляются в vector
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru