Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2013, 11:26   #21
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Почему не метод Sum()? То есть, откуда взялось обособление частного случая операторов?
Я кажется понял к чему вы клоните. К тому, что и оператор и метод - это в сущности одно и тоже. Просто оператор - это более короткая, удобная и логичная запись. Эккель называл оператор - "синтаксический сахар". Но суть от этого не меняется, что оператор '+', что метод Sum(). Нужно было мне написать два эквивалентных примера один с оператором '+', а другой с методом Sum(). Будем считать, все знают, что оператор '+' и метод Sum() одно и тоже.

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Класс "ромб" наследует классу "прямоугольник"? Вы хорошо подумали?
Ошибся. Поправил: 'Многоугольник' -> 'Четырёхугольник' -> 'Параллелограмм' -> 'Ромб' -> 'Прямоугольник' -> 'Квадрат'

Последний раз редактировалось 8Observer8; 06.02.2013 в 11:30.
8Observer8 вне форума Ответить с цитированием
Старый 06.02.2013, 11:34   #22
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Ошибся. Поправил: 'Многоугольник' -> 'Четырёхугольник' -> 'Параллелограмм' -> 'Ромб' -> 'Прямоугольник' -> 'Квадрат'
Теперь класс "прямоугольник" наследует классу "ромб". Вы считаете что эта идея лучше предыдущей?
Abstraction вне форума Ответить с цитированием
Старый 06.02.2013, 11:54   #23
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

хм...
Я бы вообще иначе сделал цепочку.
"Фигура" -> "Задающаяся двумя координатами" -> "Ромб"
либо
"Фигура" -> "Задающаяся двумя координатами" -> "Многоугольник" -> "Ромб"
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 06.02.2013, 11:58   #24
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

Цитата:
"Задающаяся двумя координатами" -> "Многоугольник"
Тогда "Четырёхугольник".
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 06.02.2013, 12:00   #25
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Я бы вообще иначе сделал цепочку.
А с фигурой, прямоугольником, кругом и квадратом, всё же?..
Abstraction вне форума Ответить с цитированием
Старый 06.02.2013, 12:02   #26
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
Сообщение от sVasilich Посмотреть сообщение
Тогда "Четырёхугольник".
Не обязательно. Многоугольник можно задать парой координат и кол-вом граней. (предполагается что получится "правильный" многоугольник, но немного сжатый вдоль какой-то из осей).

Вообще, окружность (овал) тоже можно задать двумя координатами (углы прямоугольника, в который она вписана), иногда это может быть удобно.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 06.02.2013 в 13:29.
ROD вне форума Ответить с цитированием
Старый 06.02.2013, 12:55   #27
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Круг - это тоже многоугольник, со своими свойствами
В ограниенном числовом пространстве компа - да. В натуральном отображении - бесконечная дробь.
Цитата:
К тому, что и оператор и метод - это в сущности одно и тоже.
Не правильно. Оператор сам работает над данными, а метод, - что ты добиваешься от этих данных.
Если по плюсам, то "+"и "-"-у, можно придать много значений, например коньюнкцию сток...
В методе, вы сами определяете суть происходящего. Можете, хоть + на - поменять, в иных блоках, ни к каким последствиям это не приведёт. Пространство имён, однако.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 06.02.2013 в 13:05.
Smitt&Wesson вне форума Ответить с цитированием
Старый 06.02.2013, 15:18   #28
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Интерфейс Фигур --> Конкретные фигуры.

Все. Не нужно здесь больше никаких наследований
_Bers вне форума Ответить с цитированием
Старый 06.02.2013, 15:42   #29
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Интерфейс Фигур --> Конкретные фигуры.

Все. Не нужно здесь больше никаких наследований
Ну вот, пришёл _Bers и всё испортил...
Хотя закрытое наследование квадрата от прямоугольника может оказаться полезным для предотвращения дублирования кода.
Abstraction вне форума Ответить с цитированием
Старый 06.02.2013, 15:57   #30
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
Не нужно здесь больше никаких наследований
Если следовать вашей модели, придется дублировать одинаковый код и для квадрата и для прямоугольника.
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Инструкция по созданию заготовки для 2D игр (для начинающих) 8Observer8 Gamedev - cоздание игр: Unity, OpenGL, DirectX 31 20.03.2023 02:01
C++ для начинающих a_Alise Помощь студентам 2 27.03.2016 10:00
C++ для начинающих Haruko_ Помощь студентам 0 23.10.2012 21:41
С++ для начинающих Maxim1 Общие вопросы C/C++ 10 31.05.2010 00:22