Интерфейсы как решение проблем множественного наследования
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: бесплатные рассказы, философские рефераты
| Добавил(а) на сайт: Jangosjarov.
Предыдущая страница реферата | 1 2 3
{
public:
БытьСтудентом(){};
virtual void Func( void);
// пример функции, обращающейся к ядру объекта
{
БытьЧеловеком* ptr = dynamic_cast< БытьЧеловеком* >( this);
if( ptr)
{
// используем ядро
}
};
};
На первый взгляд, приведение типа БытьСтудентом к типу БытьЧеловеком невозможно, поскольку никто их этих классов ни от кого не наследован. Но дело в том, что оператор dynamic_cast определен не для классов, а для объектов. И если при исполнении кода Func реальный объект, для которого эта функция выполняется, имееет класс, унаследованый от БытьЧеловеком, то оператор вернет правильное значение. Согласно стандарту, оператор приведения типа dynamic_cast имеет два вида поведения если приведение невозможно - вернуть нулевое значение либо возбудить исключительную ситуацию. Оба варианта нас полностью устраивают.
Я считаю, что в модели применения интерфейсных классов для решения проблем множественного наследования будет также красиво построить интерфейсные классы с конструкторами, не требующими обращения к ядру объекта. Впрочем, это уже из области философии помехоустойчивого программирования.
Скачали данный реферат: Дутов, Konkordija, Ostroverh, Dubinin, Tabernakulov, Яковенко, Квасков.
Последние просмотренные рефераты на тему: понятие курсовой работы, оформление доклада, введение дипломной работы, реферат машини.
Категории:
Предыдущая страница реферата | 1 2 3