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

Создание дерева в родительском классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Генератор судоку http://www.cyberforum.ru/cpp/thread90576.html
Маленькая проблемка с программой - в одном из 10 случаев программа зависает. Кому не сложно, прошу проверить и исправить. Вот полный работающий код: #include <iostream> #include <cstdlib> using namespace std;
C++ Новый стандарт с++ В 2009 году должен быть выйти новый стандарт. Хотелось бы узнать какие новшевства он принес в язык. Стал язык удобнее или нет. И какие компиляторы уже на данный момент поддерживают этот стандарт. P.S. Гугл не дал никаких убедительных ответов на вопросы. http://www.cyberforum.ru/cpp/thread90544.html
С++ vs. Visual Studio C++! C++
В чем разница между C++ и Visual Studio C++??
C++ Открытие wav файла
Здравствуйте. мне надо открыть музыкальный файл формата wav и считать информацию в массив из блока data. написала начало функции. но не работает. не находит блоки wav и data вообще. вот программа. что не так? WAVEFORMATEX* wfx; // Указатель на объект структуры WAVEFORMATEX HMMIO m_hmmioIn; // Мультимедийный дескриптор файла MMCKINFO m_ckIn; // Инфоромация о вложенном блоке формата...
C++ Удаление инфы из дискового файла http://www.cyberforum.ru/cpp/thread90009.html
Есть файл. Этот файл читается и пишется как типизированный (подозреваю, что к делу это не относится), то есть в качестве указателя на буфер юзится указатель на структуру. Надо из файла удалить одну запись. Как это сделать без использования временного файла ?
C++ Подключение библиотеки Здраствуйте. Как мне подключить библиотеку к проекту только 1 раз. тоесть есть у меня 4 срр файла каждий поключаен набор библиотек //lib.h #pragma once #include <iostream> #include <conio.h> #include <vector> #include "Firm.h" #include "Point.h" #include "Penta.h" подробнее

Показать сообщение отдельно
Observat
0 / 0 / 0
Регистрация: 29.01.2010
Сообщений: 5

Создание дерева в родительском классе - C++

29.01.2010, 11:18. Просмотров 971. Ответов 9
Метки (Все метки)

Базовый класс используется для создания дерева. Потомки обрабатывают дерево по разному.
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
class A
{
public:
    A()
    {
        loadTree();
    }
    loadTree()
    {
        // заполнение данными c сервера
        // рекурсивно заполняется vector<A*>;
    }
//    method1() =0; // нельзя, т.к в loadTree() создается class A
private:
    vector<A*>;
};
 
class B1 : public A
{
public:
    B1() : A() {}
    method1()
    {
         // обработка данных
    }
//    method2(), ...
};
 
//class B2, B3 ...
Как изменить так, чтобы в loadTree() "рекурсивно заполнялся vector<Bn*>" и компилятор позволял в классе А написать method1() =0;
Т.е. пока получается дерево, где корень имеет тип Bn, а все ветви и листья - тип A. В итоге полиморфизм в таких деревьях не работает.
Я только 2 варианта вижу, оба не очень привлекательные:
1) в каждом Bn создавать метод loadTree();
2) в A создать метод method1(), который по какому нибудь признаку (можно ввести дополнительное поле для этого) через switch вызывает метод method1() соответствующего класса Bx.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru