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

Специализация шаблонного класа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Книга по C++, которую нельзя найти в интернете http://www.cyberforum.ru/cpp/thread271389.html
мой друг поехал в москву , хочу его попрасить купить мне там книгу по с++ только такую,которую можно найти только на продаже т.е. каторая не имеет доступа на скачивание в инете.кто знает,посоветуйте...
C++ Наследование в С++. Создать класс CFile, инкапсулирующий в себе такие функции работы с файлами, как Open, Close, Seek, Read, Write, GetPosition и GetLength. На базе этого класса создать производный класс CMyDataFile –... http://www.cyberforum.ru/cpp/thread271177.html
не выходит настроить С++ 2008 C++
Установил студию 2008 экспресс эдишин, создаю виндовс приложение. Вначале жаловалсь что нет библиотеки msvcr90d. Нашел ее кинул в систем32 и теперь выдает такое:
C++ Помогите выловить баг, сил моих больше нету(((
Программа глючит при добавлении больших структурированных каталогов, раньше думал, что ошибка выделения памяти, оказалось нет...Очень надо помощь спеца, СРОЧНО!!! Конструктор класса...
C++ mingw и лицензия http://www.cyberforum.ru/cpp/thread271048.html
Интересует следующий вопрос. Можно ли создавать ПО под лицензией, отличной от GPL (или с закрытым\частично закрытым кодом)? ПО собрано под windows, компилятор mingw (g++), библиотеки...
C++ Бесконечные циклы. Довольно часто допускаются ошибки приводящие к бесконечным циклам. Только что такой бесконечный цикл едва не вынудил прервать работу горячей перезагрузкой - компьютер завис почти намертво. Можно ли... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17931 / 6155 / 408
Регистрация: 30.03.2009
Сообщений: 16,904
Записей в блоге: 27
09.04.2011, 10:11
Тему на форуме так и не нашёл, но был хороший пример, демонстрирующий нечёткое понимание ООП.

Нужно было завести класс "асбстрактная комната". Далее от него сделать производные классы "кухня" и "жилая комната". Далее сделать класс "однокомнатная квартира", в который бы входили "кухня" и "жилая комната". До этого момента всё правильно. Далее требовалось создать класс "двухкомнатная квартира", который есть производный класс от "однокомнатная квартира" и в котором есть дополнительное поле "вторая жилая комната". Вот это место идеологически НЕ правильное, потому что двухкомнатная квартира НЕ является производной от однокомнатной. Хотя с технической точки зрения такой код будет работать. Правильной реализацией явилось бы создание отдельного класса "двухкомнатная квартира", содержащего в себе кухню и две комнаты. Ну либо как вариант работать от класса "абстрактная квартира".

Вот и в данном случае имеет место быть такая же идеологическая ошибка. Если "специализация" класса выливается в то, что какие-то методы класса должны быть отключены, то для этого надо делать другой шаблон. Потому что предложенная "специализация" на самом деле описывает отдельную сущность, а не специализацию шаблона
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru