Программирование >>  Расширенная версия языка c++ 

1 ... 122 123 124 [ 125 ] 126 127 128 ... 227


Главг. Динамическая идентификация и приведение типов 381

Проверка усвоения материола в целом

В этом разделе проверяется, хорошо ли вы усвоили материал этой и предыдущих глав.

1. Переделайте программу из раздела П. 1, пример 4, чтобы возможную ошибку выделения памяти внутри функции отслеживать с помощью механизма обработки исключительных ситуаций.

2. Измените функцию generator() из вопроса 1, чтобы в ней использовать версию оператора new с ключевым словом nothrow.

3. Особо сложное задание: попытайтесь создать иерархию классов с абстрактным классом на ее вершине. В основании иерархии создайте два производных класса. В одном должен быть реализован стек, в другом - очередь. Создайте также функцию DataStructFactoryO со следующим прототипом:

DataStruct *DataStruotFaGtory(char метка);

Функции tFactoryО должна создавать стек, если параметр метка равен s, и очередь, если параметр метка равен q. Возвращаемым значением функции должен быть указатель на созданный объект. Покажите, что ваша фабрика объектов работает.



i * . :!i -.1 .!:

f ,



Глава 13

ПространстваИмеН и другие темы

. . .1 ..ути .: . -х. ... . -.1-


В этой главе рассказывается о пространствах имен (namespaces), функциях преобразования (conveision functions), статических (static) и постоянных (const) членах класса, а также о других необычных инструментах С++.

Повторение пройденного

Перед тем как продолжить, необходима мльн о ответить на следующие вопросы и сделать упражнения.

1. Что собой представляют новые операторы приведения типов и для чего они используются?

2. Что собой представляет класс

3. С помощью какого оператора определяют тип объекта?

4. Да ующий фрагмент программы ажите, как определить, объектом какого типа является указатель р: объектом типа Base или объектом типа Derived.

class Base { i- - : л- >> < ti.-;..

virtual void f() {} -

. A -j . 1-1.1 I

class Derived: public Base ( .; .; , . . ,

}; -. -

J. . . .. 1 . .

int mainO

i !V -n* - .. . л

Bas *p, b ob;

Derived d ob; .i . -

...

5. Оператор mic cast успешно завершается только в том случае, если объект, над которым выполняется операция приведения типов, является



1 ... 122 123 124 [ 125 ] 126 127 128 ... 227

© 2006 - 2025 pmbk.ru. Генерация страницы: 0.075
При копировании материалов приветствуются ссылки.
Яндекс.Метрика