Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data Structures and Algorithms in C++ 2e (На ру...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.37 Mб
Скачать

Раздел 2.2.3, чтобы найти 7-ю ценность прогрессии Фибоначчи, которая начинается с 3 и 4 как ее первые две ценности.

R-2.9 Если мы выбираем inc = 128, от скольких функционируют требования к nextValue

класс ArithProgression Раздела 2.2.3, мы можем сделать, прежде чем мы вызовем длинное целое число overflow, принимая целое число 64 бита длиной?

2.5. Упражнения 99

R-2.10 предположим у нас есть переменная p, который, как объявляют, является указателем на объект

из Прогрессии типа, используя классы Раздела 2.2.3. Предположим далее, что p фактически указывает на случай класса GeomProgression, который был создан с конструктором по умолчанию. Если мы бросаем p к указателю Прогрессии типа и называем p-> firstValue (), что будет возвращено? Почему?

R-2.11 Рассмотрите наследование классов от Упражнения R-2.6 и позвольте d быть

возразите переменной Лошади типа. Если d отсылает к фактическому объекту типа Eques-trian, это может быть брошено Гонщику класса? Почему или почему нет?

R-2.12 Обобщите Студенческую человеком иерархию классов, чтобы включать Способность классов,

UndergraduateStudent, GraduateStudent, профессор, Преподаватель. Объясните структуру наследования этих классов и получите некоторые соответствующие членские переменные для каждого класса.

R-2.13 Дайте пример C ++ кодовый фрагмент, который выполняет ссылку множества

это возможно за пределы, и если это выходит за пределы, программа ловит то исключение и печатает соответствующее сообщение об ошибке.

R-2.14 Рассмотрите следующий кодовый фрагмент:

Объект класса

общественность: виртуальная пустота printMe ()

Место класса: общественный Объект

общественность: виртуальная пустота printMe ()

область класса: общественное место

общественность: виртуальная пустота printMe ()

государство класса: общественная область

общественность: виртуальная пустота printMe ()

класс Мэриленд: общественное государство

общественность: виртуальная пустота printMe ()

= 0;;

co единое время <<«B u y i t. \n»;;

co единое время <<«B o x i t. \n»;;

co единое время <<«S h i p i t. \n»;;

co единое время <<«R e d i t. \n»;;

международное основное ()

Область* середина = новое государство;

Государство* md = новый Мэриленд; Объект* obj = новое Место; Место* США = новая область;

md-> printMe ();

середина-> printMe (); (динамический бросок <Место*> (obj))-> printMe ();

o bj = md;

(динамический бросок <Мэриленд*> (obj))-> printMe ();

o bj = нас a;

(динамический бросок <Место*> (obj))-> printMe ();

нас = md;

(динамический бросок <Место*> (США))-> printMe ();

возвратите ВЫХОДНОЙ УСПЕХ;

Какова продукция от вызывания главной функции класса Мэриленда?

100

Глава 2. Ориентированный на объект дизайн

R-2.15 Напишите короткий C ++ функция, которая считает число гласных в данном

строка символов.

R-2.16 Напишите короткий C ++ функция, которая удаляет всю пунктуацию из последовательности s

хранение предложения. Например, эта операция преобразовала бы последовательность, «Давайте попробуем, Майк». к «Позволяет, судят Майка».

R-2.17 Напишите короткую программу, которая берет в качестве входа три целых числа, a, b, и c, и

определяет, могут ли они использоваться в правильной арифметической формуле (в данном

заказ), как «+ b = c», «= b- c», или «* b = c».

R-2.18 Напишите короткий C ++ программа, которая создает класс Пары, который может сохранить два

объекты, объявленные как универсальные типы. Продемонстрируйте эту программу, создав и печатая объекты Пары, которые содержат пять различных видов пар, такой как <интервал, последовательность> и <float, долго>.

Креативность

C-2.1 Дайте пример C ++ программа, которая производит ее исходный код, когда это

управляемый. Такую программу называют quine.

C-2.2 предположим Вы находитесь на коллективе дизайнеров для нового букридера. Что

основные классы и функции, в которых будет нужно программное обеспечение C ++ для Вашего читателя? Вы должны включать диаграмму наследования для этого кодекса, но Вы не должны писать фактический кодекс. Ваша архитектура программного обеспечения должна, по крайней мере, включать способы для клиентов купить новые книги, рассмотреть их список купленной книги и прочитать их купленные книги.

C-2.3 Самый современный C ++ у компиляторов есть оптимизаторы, которые могут обнаружить простые случаи

когда для определенных заявлений в программе логически невозможно когда-либо быть выполненным. В таких случаях компилятор предупреждает программиста о бесполезном кодексе. Напишите короткий C ++ функция, которая содержит кодекс, за который для того кодекса доказуемо невозможно когда-либо быть выполненным, но Ваш фаворит К ++ компилятор не обнаруживает этот факт.

C-2.4 Проектируйте Линию класса, которая осуществляет линию, которая представлена для -

mula y = топор + b. Ваш класс должен сохранить a и b как двойной участник vari-ables. Напишите, что членская функция пересекается (ℓ), который возвращает координату x, в которой эта линия пересекает линию . Если эти две линии параллельны, то Ваша функция должна бросить Параллель исключения. Напишите C ++ программа, которая создает много объектов Линии и проверяет каждую пару на пересечение. Ваша программа должна напечатать соответствующее сообщение об ошибке для параллельных линий.

C-2.5 Напишите C ++ класс, который получен из класса Прогрессии, чтобы произвести a

прогрессия, где каждая стоимость - абсолютная величина различия быть - подросток предыдущие две ценности. Среди Вас должен быть конструктор по умолчанию, который начинает с 2 и 200 как первые две ценности и параметрическая construc-скалистая вершина, которая начинается с указанной пары чисел как первые две ценности.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]