Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2015, 15:13   #1
Kvayzer
Новичок
Джуниор
 
Регистрация: 06.12.2015
Сообщений: 6
По умолчанию Массив указателей на базовый класс и его заполнение указателями на производный

Есть следующая формулировка задачи:

Написать тестовую программу, которая:
 динамически выделяет массив указателей на базовый класс (4-6);
 в режиме диалога заполняет этот массив указателями на производные классы, при этом экземпляры производных классов создаются динамически с заданием начальных значений;
 для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей.


Есть следующая штука:

Код:
STRING **ptr = new STRING*[size] ;
    for (int i = 0; i<size; ++i)
    {
        std::cout << "Input a string: ";
        char *tempStr;
        std::cin >> tempStr;
        ptr[i] = new idSTRING(tempStr);
    }
Всё нормально, заполнили объекты производного класса какими-то данными, используя конструктор с параметрами для производного класса.
Но у нас ptr[i] - это указатель на БАЗОВЫЙ класс, а как нам выдрать указатель на производный класс, чтобы работать с его методами. То есть ptr[i]->getCount() не будет работать, если getCount - это метод класса idSTRING, т.к. сам ptr[i] есть STRING.
Kvayzer вне форума Ответить с цитированием
Старый 06.12.2015, 15:35   #2
Kvayzer
Новичок
Джуниор
 
Регистрация: 06.12.2015
Сообщений: 6
По умолчанию

Разобрался. ВИртуальный метод переопределяем. close .
Kvayzer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вектор указателей на абстрактный базовый класс Cutlet Помощь студентам 14 31.05.2013 21:30
Сортировка массива указателей на абстрактный базовый класс Frants Общие вопросы C/C++ 11 29.11.2012 19:44
Правильна ли такая реализация списка из указателей на базовый класс? Archet Общие вопросы C/C++ 14 18.01.2012 16:08
как удалить объект по указателю на его базовый класс? AndreyBS Общие вопросы C/C++ 5 17.04.2011 11:29
Базовый и производный классы! Наташенька Общие вопросы C/C++ 6 21.05.2009 16:24