Во-первых, спасибо, что откликнулись, а то уже 2-й курс, прогаю 5 лет, а такой вопрос странный... Молодость :)
kuraga, зачем Вам в MarkedGraph ещё раз заводить вектор указателей?
Нет! Я написал
ведь если в [вставить оператор new] каждый конструктор, то создастся два вектора...
Итак...
Как альтернатива сказанному участником cupuyc, думаю, здесь неплохо бы смотрелся подход с шаблонами. То есть почему-бы не создавать тип помеченного графа, скажем, как Graph<Marked>, а по-умолчанию (без указания шаблонного параметра) тогда создавался бы обычный непомеченный граф...
Я как-то отошел от этого варианта (он был изначальным). По двум причинам: так посоветовал преподаватель, который теперь заболел, и, думаю, он не особо подумал. Вторая - я хочу сделать как бы ГРАФ независимым компонентом. Сейчас это
МАРКИРОВАННЫЙ_ГРАФ, потом будет
ЕЩЕ_КАКОЙ_ТО, и тогда... Или я не прав? И полиморфизм ничуть не лучше?
стоит, во-первых, изменить имя вектора в определении класса помеченного графа, и, во-вторых, изменить семантику класса элементов этого вектора так, чтобы ваш нынешний класс помеченной вершины стал классом, содержащим свойства вершины (класс, инкапсулирующий саму вершину у вас уже есть).
Сорри, я только не врубился, это в продолжение шаблонам или в замену?
В общем, хотелось бы услышать дискуссию:
полиморфизм или
шаблоны?
Спасибо.