|
Программирование >> Расширенная версия языка c++
public: myclass(int n) ( i = n; } void showO { cout i; } Здесь функции w() по умолчанию становится встраиваемой. Однако, как вы, наверное, знаете, операции ввода/вывода, по сравнению с операциями процессор/память, являются настолько медленными, что какой бы то ни было эффект от устранения вызова функции практически отсутствует. Однако в программах на С++, как правило, можно встретить такие короткие функции внутри класса. Делается это просто для удобства, поскольку никакого вреда не приносит. 1. Переделайте класс stack из раздела 1, пример 1, так, чтобы в классе, где это возможно, использовались встраиваемые функции. 2. Переделайте клас frtype из раздела 2.2, пример 3, так, чтобы в классе использовались встраиваемые функции. Ироверка усвоения . , йотериола главы V... Теперь вам необходимо выполнить следующие упражнения и ответить на вопросы. 1. Чт жое конструктор? Что такое деструктор? Когда они вызываются? 2. Создайте класс line, который рисует на экране линию. Храните длину линии в виде закрытой целой переменной leii. Конструктор line должен иметь один параметр - длину линии. Он должен сохранять длину линии и собственно рисовать линию. Если ваша система не поддерживает графику, отобразите линию, используя символ *. Необязательное задание: Для удаления линии используйте деструктор line. 3. Что выведет на экран следующая программа? ttinclude <iostream> using namespace std; int mainO ,t ->. int i =10; long 1 = 1000000; double d = -0.0009; 7. В чем отличие между классом и структурой? 8. Правилен ли следующий фрагмент? union { float f; unsigned int bits; couW< < d; cout \n ; return 0; . 4. Добавьте производный класс, который наследует класс из раздела 2.3, упражнение 1. Назовите этот класс cylinder и пусть он вычисляет площадь поверхности цилиндра. Эта площадь задается так: 2 * pi * R2 + pi * D * Н. 5. Что такое встраиваемая функция? В чем ее преимущества и недостатки? 6. Измените следующую программу так, чтобы все функции-члены по умолчанию стали встраиваемыми функциями: #include <iostream> - .. . usin space std; - - - - -г; clas lass { * int i, j; . public: -.. .. myclass (int x, int y) ; . I лУ. . i - > void ShowO ; ... , ... -.ki f . ..;. }; .- : t myclass::myclass(int x, int y) i = x; j = Y; void myclass : :show () cout i ..... j \n ; int mainO myclass count (2, 3); count.show() ; return 0; во Самоучитель C++ j Проверка усвоения материала б целом В этом разделе проверяется, хорошо ли вы усвоила риал этой и предыдущих глав. 1. Создайте класс prompt. Для вывода на экран строки-приглашения включите в класс конструктор. Помимо строки-приглашения конструктор должен выполнить ввод набранного вами целого. Сохраните это значение в закрытой переменной count. При удалении объекта типа prompt должен быть подан звуковой сигнал, причем столько раз, сколько задано пользователем в переменной count. 2. В главе 1 вы создали программу для преобразования футов в дюймы. Теперь для этой цели создайте класс. Класс должен хранить число футов и его эквивалент в дюймах. Передайте конструктору класса число футов и при этом он должен вывести на экран число дюймов. 3. Создайте класс dice, который содержит закрытую целую переменную. Создайте функцию го11(), использующую стандартный генератор случайных чисе fl(), для получения чисел от 1 до 6. Функция roll() должна вывести это значение на экран.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |