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

Взаимодействие между объектами единой иерархии классов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив с нулевыми значениями http://www.cyberforum.ru/cpp-beginners/thread252939.html
Присваивание нулевых начальных значений элементам массива.. Пожалуйста помогите исправить ошибки......не переделывая...это пример из книжки..... // нулевой массив.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <conio.h> #include <iomanip> #include<iostream> #include<stdio.h>
C++ Окружности помогите пож-та: надо составить три окружности разных цветов да еще чтобы они последовательно были соединены(как ауди )) Не вклинивайтесь в чужие темы с несвязанным с ними вопросом. Так же крайне желательно указывать среду программирования, ну и собственные наработки, если имеются. http://www.cyberforum.ru/cpp-beginners/thread252924.html
рекурсии... C++
задание: Во входном файле задано без ошибок логическое выражение следующего вида : <логическое выражение>::= true|falsе|<операция>(<операнды>) <операция>:: = not |and| or <операнды>:: = <операнды>|<операнд>,<операнды> <операнд>:: = <логическое выражение> У операций and и or может быть любое число операндов, у not – только один. Ввести это выражение и вычислить его значение. Например,...
C++ Дописать код программы
Вобщем есть код для нахождения количества попарно различных символов, входящих в состав введенного с клавиатуры слова, надо сделать так чтобы он работал со всей строкой, т.е. и со словами после пробела. //--------------------------------------------------------------------------- #include <stdio.h> #include <conio.h> #include <string.h> #pragma hdrstop ...
C++ Не знаю с чего начать:( http://www.cyberforum.ru/cpp-beginners/thread252914.html
Товарищи программисты подскажите с чегко начать писать данную программу: Справочное бюро вокзала. расписание движение поездов включает следующую информацию: НЦомер поезда, станцию назначения, время отправление, дни отправления, время прибытия на станцию назначения. при создании автомстизированного справочного бюро была добавленна информация о наличии мест каждой категории(СВ, купе, плацкарт,...
C++ итератор Привет. Не получается создать итератор. std::vector<std::list<size_t> > adjacentList; если пишу так std::vector<std::list<int> >::iterator it; it = adjacentList.begin(); то выскакивает ошибка no match for 'operator=' in 'it = ..... подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
06.03.2011, 15:09     Взаимодействие между объектами единой иерархии классов
Цитата Сообщение от Dejust Посмотреть сообщение
У меня есть некоторый базовый класс window, который создает "окно" и представляет функции доступа к нему для производных классов.
Есть базовый абстрактный класс shape (производный от window) который наследуют другие классы-фигуры (точка, линия, квадрат и т.п.)
Классы фигур, наследуя shape, выводят фигуры "на окне" класса window
Лажа какая-то. Если класс наследуется от какого-то класса, то дочерний класс логически ЯВЛЯЕТСЯ родительским.
Например, логично, что класс квадрат, порождается от класса четырехугольник. Квадрат является четырехуголником. Не очень-то логично, если класс "Фигура" порождается от класса "Окно", потому что фигура не является окном и уж тем более точка не является окном.

Предлагаю другую структуру классов.

Класс Window -- контейнер всего, что можно отрисовать, т.е НЕ является ничьим родительским классом, но содержит множество (массив / список / множество ...) объектов класса Drawable.
Класс Drowable -- класс всего, что можно отрисовать в окне. Базовый.
Класс Point : Drowable -- класс точки. Точка не является фигурой. Фигура это множество точек.
Класс Shape : Drowable -- класс фигур, контейнер множества точек.
Классы Line, Rectangle и другие наследуются от Shape.

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