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

Иерархия понятий в качестве абстрактного базового - C++

Восстановить пароль Регистрация
 
Dmitriy_9413
0 / 0 / 0
Регистрация: 22.01.2014
Сообщений: 3
22.01.2014, 18:39     Иерархия понятий в качестве абстрактного базового #1
Здравствуйте, помогите, пожалуйста с программой:

Необходимо реализовать иерархию понятий: "Район", "Область" и "Место" в качестве абстрактного базового. Считается, что область включает в себя некоторое количество районов. Пусть имеется информация об n местах. Состояние объектов классов определяется совокупностью параметров: название, численность, площадь. Нужно решить задачу поиска места с наиболее высокой плотностью населения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 18:39     Иерархия понятий в качестве абстрактного базового
Посмотрите здесь:

Реализация абстрактного класса C++
C++ Ошибка в создании абстрактного класса
C++ Создается объект абстрактного класса:(
C++ Копирующий конструктор абстрактного класа
C++ Функция абстрактного базового класса
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
22.01.2014, 18:41     Иерархия понятий в качестве абстрактного базового #2
Дайте пожалуйста UML диаграмму классов, ну или на крайний случай - нарисуйте и объясните (тут могут быть непонятки). А то в вашем примере ничего не ясно, кроме того, что Область аггрегирует Районы.
Dmitriy_9413
0 / 0 / 0
Регистрация: 22.01.2014
Сообщений: 3
22.01.2014, 18:53  [ТС]     Иерархия понятий в качестве абстрактного базового #3
Не знаю как нарисовать. В общем есть класс места, в котором параметры: название места, чиленность населения и площадь места. Район аггрегирует места, а область, в свою очередь, аггрегирует районы.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
22.01.2014, 18:59     Иерархия понятий в качестве абстрактного базового #4
Ну и как вы предлагаете реализовать абстрактные класс, если у вас даже наследования тут не происходит?

Добавлено через 1 минуту
Оно бы конечно можно было сделать через private наследование, но оно здесь не нужно, тут имеет место самая обычная композиция.
Dmitriy_9413
0 / 0 / 0
Регистрация: 22.01.2014
Сообщений: 3
22.01.2014, 19:08  [ТС]     Иерархия понятий в качестве абстрактного базового #5
а как сделать через композицию?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
22.01.2014, 19:13     Иерархия понятий в качестве абстрактного базового #6
Как то так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class Место
{
};
 
class Район
{
    Место arr[20]; // 20 мест
};
 
class Область
{
    Район arr[10]; // 10 районов
};
Можно хранить и в контейнере каком, не обязательно на массивах. Я бы вектор предпочел.
Yandex
Объявления
22.01.2014, 19:13     Иерархия понятий в качестве абстрактного базового
Ответ Создать тему
Опции темы

Текущее время: 23:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru