Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Wolkodav
605 / 458 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
#1

Абстрактные классы - C++

05.12.2012, 21:01. Просмотров 374. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста, сообразить не могу.
Есть абстрактный класс. У него есть метод, чтение из файла.
Есть производный от него класс. Вопрос: как сделать лучше чтение из файла для производного класса?
1) Сделать метод виртуальной и переопределить? (наврятли)
2) Сделать метод чистым, и определять метод в каждом производном классе. (все хорошо, но как-то не катит, радо того что-бы в производном класса переписать и просто тупо добавить еще один scanf, ну тоже как-то, не очень)
Подскажите что-нить, что бы вначале вызывался абстрактного класса( он описан, он не является чистым, все хорошо), а потом просто дополнительно делал еще что-то( да и хотелось что бы названия метода в абстрактном классе и в производном совпадали)
Подскажите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2012, 21:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Абстрактные классы (C++):

абстрактные классы - C++
компилятор ругается когда я пытаюсь записать объект класса!!!! подскажите что я не правильно делаю!! #include <cstdlib> #include...

Абстрактные классы - C++
Помогите плиз, экзаменационное задание, а разобраться не могу с ним: Создать консольное приложение, в котором реализовать работу...

Абстрактные классы - C++
В общем есть у нас 2 абстрактных класса CA и CB и 2 дочерних от них класса CC и CD. Как сделать так чтобы CD наследовал CB поверх которого...

Абстрактные классы - C++
Народ, вопрос есть такой. Есть абстрактный класс class A { protected: int a; public: A(int b=0):a(b) {

абстрактные классы - C++
Здрасте я при написании программы столкнулся с проблемой что немогу создать указатель на объект т.к. класс абстрактный прошу помогите...

Абстрактные классы - C++
Объясните пожалуйста почему это не работает и как исправить? cannot declare variable 'b1' to be of abstract type 'classB' because the...

2
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
05.12.2012, 22:42 #2
Цитата Сообщение от Wolkodav Посмотреть сообщение
Есть производный от него класс. Вопрос: как сделать лучше чтение из файла для производного класса?
А чем отличается сама реализация чтения? Разные форматы данных?


Цитата Сообщение от Wolkodav Посмотреть сообщение
Подскажите что-нить, что бы вначале вызывался абстрактного класса
Можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class A {
public:
    virtual void ReadFromFile(char * filename) {
        std::cout << "A: ReadFromFile\n";
    }
};
 
class B : public A {
public:
    virtual void ReadFromFile(char * filename) {
        A::ReadFromFile(filename);
        std::cout << "B: ReadFromFile\n";
    }
};
1
Wolkodav
605 / 458 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
05.12.2012, 23:03  [ТС] #3
Нет, в производном классе выводит поля абстрактного класса+ свои поля. Вот и все отличия. Ну а если производных достаточно много, то не охото писать одно и тоже много раз) Спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2012, 23:03
Привет! Вот еще темы с ответами:

Абстрактные классы - C++
void _tmain() { const int lim = 100; MyFunction *pFunc ; int count = 0; pFunc = new My_Exp; pFunc = new Line; pFunc...

Абстрактные классы - C++
Никак не могу понять смысл абстрактных данных.Ведь мы можем использовать и обычный класс,только абстракция запрещает создавать объекты.

Абстрактные классы - C++
Ребята! Помогите с таким делом. Мне дали задание создать абстрактный класс Автомобиль, классы наследники: гоночный автомобиль, асфальтный...

Наследование и абстрактные классы - C++
расскажите что это и с чем это едят......... а то как то встал на этом!!!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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