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

Понятия инкапсуляции, полиморфизма и наследования - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Решение неравенства http://www.cyberforum.ru/cpp-beginners/thread1086648.html
Задание. Написать программу для решения заданной задачи. В решении обязательно предусмотреть все возможные случаи соотношения параметров задачи, в том числе и случаи, когда задача не имеет решений. Предусмотреть ввод исходных данных с клавиатуры и вывод результатов на экран. Для произвольных значений a, b вычислить решение системы неравенств solvo a/(x-b)<0 && bx>0 Добавлено через 3 часа 7...
C++ Скачал прогу, хотел поставить. Прога выкинула флаг- требуется отладка с помо визуал студио Иначе она не станет. Я согласился. Прога вызвала студию, или студия вызвалась- я не знаю. Очень прикольно и неожиданно. Только что делать? Пожалуйста разъясните! http://www.cyberforum.ru/cpp-beginners/thread1086646.html
C++ Задача с классами С++
Указать на начало списка (список-множество) Методы Найти значение в множестве ( ф-я возвращает 1,если значение найдено, и 0 - в противном случае Добавить значение в мн-во ( если знач. уже есть в мн-ве ,то оно в мн-во не добавляется. Для проверки используйте функцию "найти значение в мн-ве" Вывести текущее состояние в мн-ве (вывести все зн-я)
Юлианский календарь C++
Здаров. Посмотрите пожалуйста задачу И попробуйте решить по разбору. вот что получилось у меня: #include <iostream> using namespace std; int main()
C++ Функции сложения, вычитания, умножения и деления двух чисел http://www.cyberforum.ru/cpp-beginners/thread1086630.html
Не могу найти ошибок,программа не правильно работает. Вот условие : Напишите программу, которая использукет 4 функции. Каждая функция используется для сложения, вычитания, умножения и деления двух чисел соответственно. Передавайте параметры по значению. Используйте цикл while, который будет вызывать функции на выбор пользователя и после выполнения справшивать: "Do you want to quit?(y/n): "....
C++ Оптимальный путь Доброго времени суток! Прошу у вас помощи) Есть задача на поиск оптимального пути Алгоритм задачи: 1)А-массив,описывающий значение коэффициентов по строкам,размерность 2)В-массив,описывающий значение коэффициентов по столбцам ,размерность 3)С-массив,описывающий значение в узлах решетки 4)D-массив,описывающий найденный путь В итоге должна получится матрица,в которой другим цветов... подробнее

Показать сообщение отдельно
rrrFer
Заблокирован
01.02.2014, 10:15     Понятия инкапсуляции, полиморфизма и наследования
Цитата Сообщение от gray_fox Посмотреть сообщение
ИМО, всё таки на понятия "реального мира" ООП не стоит так прямо отображать, если только для упрощения понимания... Мы же не наследуем класс квадрата от класса прямоугольника, правда?)
Похожие примеры есть в какой-то классической книжке по ООП. Пример в книжке был следующего вида - окружность и точка. Математически - окружность - множество точек, равноудаленных от заданной. Даже в этом тривиальном случае ООП не позволяет нам описать объекты "по определению", а с не математическими объектами все еще сложнее. Все в той же классической книге шли долгие размышления, что лучше - описать окружность как "точку с радиусом" или описать точку как окружность нулевого радиуса.

Про правильное наследование можно у Саттера почитать - он описывает виды отношений, которые может выражать наследование и раскладывает все по полочкам.

Дак вот квадрат является прямоугольником, стороны которого имеют равную длину. Мне кажется, Саттер одобрил бы наследование. (см. правило 37 у Саттера).

Цитата Сообщение от abit Посмотреть сообщение
Наследование - если честно это старый приём, который раньше назывался агрегирование
Можно почитать Саттера на этот счет. У него там есть описание случаев, в которых агрегирование не даст результата.

Добавлено через 7 минут
Вцелом, все размыто более чем. ООП бывает разным. Вот есть ряд заморских товарищей, которые считают, что в SWI Prolog есть ООП и находят все основания для этого. Так, по их мнению, объект - это экземпляр подключенного модуля. Модуль - класс. Инкапсуляция - модуль предоставляет открытый интерфейс в SWI, все что к нему не относится - закрыто. У модуля (читай объекта) есть состояние - локальная база данных. Модули можно иерархически включать друг в друга, перегружать что-то и т.п. Это коротко, более подробно можно загуглить.
Вобщем, за уши можно притянуть что угодно и куда угодно. Но зачем?
Иное ООП и в смолтолке или Objective-C.
 
Текущее время: 21:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru