Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Бип из системно... 65535
Пример работы с... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
21 ошибка прогр... 65535
Гостевая книга ... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Содержание сайт... 65535
Invision Power ... 65535
Имитационное мо... 65535
Программируемая... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 5
На сайте нет зарегистрированных пользователей

Пользователей: 13,202
новичок: adssitecas
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование процесса обработки заданий на вычислительном центре на GP...
Моделирование работы аэропорта на GPSS + Пояснительная записка
Моделирование интернет кафе на GPSS + Отчет

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Множественное наследование и RTTI
Одним из мощных средств разработки является множественное наследование (см. п. 10.1 в [1]). Впервые оно было реализовано в 1989 году [43]. Этот механизм с концептуальной точки зрения является совершенно естественным: если есть два класса, каждый из которых обладает частью необходимых свойств, то почему бы не объединить эти свойства в одном классе-наследнике? В конце концов, и в реальной жизни у каждого ребенка двое родителей.
Но, как обычно и бывает в этой жизни, «хотели как лучше, а получилось как всегда»: множественное наследование в том виде, в котором оно реализовано в С++, часто является источником проблем и подвергается залуженной критике. Недаром в новейших объектно-ориентированных языках Java и С# множественное наследование классов запрещено, а разрешено только множественное наследование интерфейсов.
Тем не менее при аккуратном и правильном использовании — это полезный и мощный механизм. Множественное наследование очень пригодилось при реализации библиотек классов. Например, в объектно-ориентированной библиотеке ввода-вывода множественное наследование применяется для реализации класса iostream, объединяющего свойства классов istream и ostream.
Другим механизмом С++, который оказался востребованным при разработке больших библиотек классов, является уже упоминавшийся нами в главах 7 и 9 механизм динамической идентификации типов (RTTI). Использование этого механизма позволяет повысить «степень» универсальности библиотеки классов. Фактически разработка этого механизма осуществлялась одновременно с разработкой шаблонов [43], которые тоже предназначены для повышения универсальности. Однако механизм RTTI не очень сложно реализовать «вручную» [12, 26], чего нельзя сказать о реализации шаблонов. Поскольку именно RTTI часто создавали разработчики библиотек, Б. Страуструп, в конце концов, включил в С++ стандартный механизм RTTI [43].

RTTI, так же как и множественное наследование, при программировании на С++ можно рассматривать как «дополнительный» инструмент, являющийся в некотором роде альтернативой виртуальным функциям. И хотя сам Б. Страуструп призывает использовать именно виртуальные функции, принципы работы RTTI значительно понятнее новичкам, чем механизм виртуальных функций. К тому же в некоторых случаях, как пишет сам Б. Страуструп в [43], без RTTI невозможно обойтись.
Опубликовал Kest Ноябрь 25 2013 04:58:13 · 0 Комментариев · 3494 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
C# Учебный курс
SearchAndReplace
Delphi Russian Kn...
Изучаем Ассемблер
Image Browser [Ис...
C++ Builder: Книг...
mp3tag
Разработка интерн...
Billenium Effects...
Дешифратор содерж...
С# для профессион...
CodeGear RAD Stud...
Основы программир...
Язык программиров...
SMLPack v1.0
ActiveX в Delphi
Экспорт базы данн...
Простой пример ка...
Delphi на примерах
Run

Топ загрузок
Приложение Клие... 100751
Delphi 7 Enterp... 97133
Converter AMR<-... 20228
GPSS World Stud... 16951
Borland C++Buil... 14137
Borland Delphi ... 10066
Turbo Pascal fo... 7333
Калькулятор [Ис... 5882
Visual Studio 2... 5189
FreeSMS v1.3.1 3650
Случайные статьи
Как правильно выбр...
Добавление объекта...
Формальный нейрон ...
5.1. ЦЕЛЬ: УПРОЩЕН...
Работа со списком ...
Ассортимент развле...
Вывод текста в гра...
Чехол для планшета...
Нестандартные искл...
Руководитель долже...
Компиляция - Проло...
7.12. Отображение...
Алгоритм обработки...
Настраиваемые типы...
Двойной амперсанд ...
Игры. Интернет-пон...
Устройство тем в P...
Немного о прерываниях
5-7).Рис.
Описание полей в т...
В этих двух пример...
Перекрестный контроль
Выбор сканирующего...
Программирование: ...
Определение вторич...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?