Форум программистов, компьютерный форум 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-массив,описывающий найденный путь В итоге должна получится матрица,в которой другим цветов... подробнее

Показать сообщение отдельно
Avazart
Эксперт С++
7116 / 5293 / 273
Регистрация: 10.12.2010
Сообщений: 23,412
Записей в блоге: 17
01.02.2014, 17:38     Понятия инкапсуляции, полиморфизма и наследования

Не по теме:

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



Нашел: Мейерс С. -"Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ(2006)"
Правило 32. стр 157,158

Но теперь перед нами встает проблема. Как примирить следующие утверждения?
□ Перед вызовом makeBigger высота s равна ширине.
□ Внутри makeBigger ширина s изменяется, а высота - нет.
□ После возврата из makeBigger высота s снова равна ширине (отметим, что s передается по ссылке, поэтому makeBigger модифицирует именно s, а не его копию).

Так что же?

Добро пожаловать в удивительный мир открытого наследования, где интуиция, приобретенная вами в других областях знания, включая математику, иногда оказывается плохим помощником. Основная трудность в данном случае заключается в том, что некоторые утверждения, справедливые для прямоугольника (его ширина может быть изменена независимо от высоты), не выполняются для квадрата (его ширина и высота должны быть одинаковы). Но открытое наследование предполагает, что все, что применимо к объектам базового класса, - все! -также применимо и к объектам производных классов. В ситуации с прямоугольниками и квадратами (а также в аналогичных случаях, включая множества и списки из правила 38), утверждение этого условия не выполняется, поэтому использование открытого наследования для моделирования здесь некорректно.


Добавлено через 3 минуты
Цитата Сообщение от korvin_ Посмотреть сообщение
С какого объекта реальной жизни взялись названия паттернов «Абстрактная фабрика», «Итератор»?
А что с фабрикой не то ? Фабрика производит продукцию разных типов, чем не соответствие ?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru