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

Виртуальные функции. Абстрактные классы. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Описать процедуру, меняющую содержимое переменных X и Y http://www.cyberforum.ru/cpp-beginners/thread95683.html
вот тут решил разобраться с языком си, решал задачки и вот напоролся на такую: Описать процедуру Swap(X, Y), меняющую содержимое переменных X и Y. Собстна как сделать такую штуку?
C++ Ввод и вывод вектора Такой вопрос. Программа должна вводить вектор из случайных чисел и выводить его на экран. При этом ввод и вывод нужно оформить в виде отдельных функций. Вопрос же в следующем: если я делаю это всё (ввод и вывод) в составе одной функции, то всё работает. Если же разделяю - то ничего не выводится. Помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread95639.html
C++ c++ в кпк
Вобщем начну с самого начала. Захотел я изучит c++, до этого работал с php в wap, но так как комп згорел, а на новый щас дениг нет поставил я на кпк pocket gcc и немогу найти инфу по програмированию в с помощью этого компилятора. Где только не спарашивал, в ответ тищина. Надеюсь здесь мне помогут, если я всё правельно понял то это портированый с пк на кпк gcc.
Метод секущих C++
Помогите, пожалуйста, с кодом к этой программе. 1 Определить координаты экстремальной точки унимодальной функции f(x)=11x2+23x+1,1 методами первого и второго порядков (метод секущих), с точностью =0,001. 2 Определить тип найденного экстремума Поиск экстремума провести в диапазоне от a до b. а= - 1100; в=1100.
C++ Сформировать одномерный массив из элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread95612.html
Есть двумерный массив, 5*6 Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца.
C++ Не могу организовать поиск в структуре Люди помогите с програмой. Условие: для заданого варинта структуры написать следующее функции: - формирование одномерного массива структур, реализовать механизм ввода заранее заданого количества структур; - запись в файл массива структур; - дополнение уже существующего файла новыми струтурами; - вывод на экран содержимого файла; - поиск информации по запросу; Вроде все работает, а поиск не... подробнее

Показать сообщение отдельно
Metal_666_
15 / 15 / 2
Регистрация: 19.10.2009
Сообщений: 187
15.02.2010, 03:07     Виртуальные функции. Абстрактные классы.
Есть у меня абстрактный класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class DataManager
{
        protected:
                Configuration configuration;
        public:
                DataManager(Configuration config);
                virtual List<Buss> loadBuss() = 0;
                virtual List<Route> loadRoute() = 0;
                virtual List<Reys> loadReys() = 0;
 
                virtual void saveBuss(List<Buss> bussList) = 0;
                virtual void saveRoute(List<Route> routeList) = 0;
                virtual void saveReys(List<Reys> reysList) = 0;
};
от него наследуются 2 подкласса

C++
1
2
3
4
5
class TxtDataManager : public DataManager
{ /*      методы и поля     */}
 
class CsvDataManager : public DataManager
{ /*      методы и поля     */}
а еще есть класс
C++
1
2
3
4
5
6
7
8
9
10
class Storage
{
                Configuration configuration;
                DataManager* manager;
                List<Buss> busList;
                List<Route> routeList;
                List<Reys> reysList;
        public:
                Storage(Configuration config);
};
Как сделать так,чтобы когда я читаю с конфига некоторый формат (txt или csv) мой класс Storage создавал нужный подкласс TxtDataManager или СымDataManager соответственно?
Попробывал вот так написать
C++
1
2
3
4
5
6
Storage::Storage(Configuration config)
{
        configuration = config;
        if(strcmp(configuration.getConfig("format"),"txt") == 0)
                *manager = *TxtDataManager;  
}
но это наверно глупо и нелепо выглядит)Вобщем хэлп!Просто еще не въехал в виртуальные ф-ции а азвтра проект сдавать(

Добавлено через 50 минут
Еще забыл написать что компилятор выкидывает на строчке
C++
1
DataManager* manager;
ошибки:
[C++ Error] storage.h(9): E2303 Type name expected
[C++ Error] storage.h(9): E2139 Declaration missing ;

Добавлено через 1 час 18 минут
Разобрался.Оказалось что он почему то не видел DataManager, хотя я его подключал,создал новый файл,все скопировал и работает(ох уж этот билдер).С указателем тоже разобрался.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru