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

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

Войти
Регистрация
Восстановить пароль
 
pincet
1274 / 862 / 100
Регистрация: 23.07.2010
Сообщений: 4,545
#1

Визуальное отображение иерархии - C++

08.05.2011, 18:43. Просмотров 495. Ответов 3
Метки нет (Все метки)

Затык небольшой.

C++
1
2
3
4
class foo {
protected:
        list<foo*>subfoo;
// blah-blah-blah
Каждый экземпляр класса может содержать непустой список из экземпляров такого же класса. Никак не догоню, как вывести на экран иерархию классов в виде:
C++
1
2
3
4
5
6
7
8
foo0
 -foo01
 -foo02
   -foo020
   -foo021
     -foo0210
     -foo0211
 -foo03
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2011, 18:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Визуальное отображение иерархии (C++):

dynamic_cast в иерархии - C++
class A { .... }; class B : public A { public: A a1; A a2;

Визуальное программирование. Считывание теста - C++
Создать программу, которая могла бы считывать введённую функцию и потом рассчитать по ней. Как сие реализовать?

Цепочка иерархии классов - C++
Какой доступ будет в цепочке protected - public - protected? ...

Постоение иерархии наследования - C++
нужно определить три класса: Expression — базовый класс иерархии, Number — для представления чисел и BinaryOperation — класс описывающий...

Создание иерархии классов - C++
Создать абстрактный базовый класс Struct, с виртуальными методами изменения и получения значения информационного поля, и класс потомок...

Создать иерархии наследования - C++
a) Создать иерархии наследования: воздушный транспорт, пассажирский транспорт - лайнер Boing 747 b) Создать иерархии ...

3
silent_1991
Эксперт С++
4997 / 3055 / 149
Регистрация: 11.11.2009
Сообщений: 7,040
Завершенные тесты: 1
09.05.2011, 13:05 #2
pincet, рекурсивно обходить. На каждом вызове функции печатать табуляцию, имя очередного экземпляра и рекурсивно вызывать ту же функцию для всех элементов списка этого экземпляра.
0
pincet
1274 / 862 / 100
Регистрация: 23.07.2010
Сообщений: 4,545
09.05.2011, 15:08  [ТС] #3
пока только так получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void Unit::showunits() {
    cout<<this->name<<endl;
    this->showunits(0);
};
void Unit::showunits(int i)  {
    list<Unit*>::iterator itr;
      for(itr=subunit.begin();itr!=subunit.end();++itr) {
       for(int j=0;j<i+1;j++) cout<<"-";
        cout<<(*itr)->name<<endl;   
          (*itr)->showunits(i+1);  
        }
}
както без параметра можно глубину рекурсии узнать?
0
silent_1991
Эксперт С++
4997 / 3055 / 149
Регистрация: 11.11.2009
Сообщений: 7,040
Завершенные тесты: 1
09.05.2011, 15:16 #4
pincet, сомневаюсь... По крайней мере пока не получается придумать, как...
0
09.05.2011, 15:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 15:16
Привет! Вот еще темы с ответами:

Разработать визуальное оформление для программы - C++
Помогите новичку, есть код . Мне нужно сделать из него полноценную программу . Имею ввиду визуальную составляющую, чтоб она выглядила...

Трудности с организацией классовой иерархии - C++
Класс A использует данные класса B для выполнения своих методов, которые вызывает класс B. Что не хватает этому коду для того чтобы он...

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

Затрудние в названии иерархии классов - C++
Здравствуйте камрады. Помогите обозвать иерархию классов, в голову ничего толкового не приходит. struct Card1 { std::string...


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

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

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