|
Программирование >> Расширенная версия языка c++
42 Самоучитель C++ 3. Напишите программу зующую стиль ввода/вывода C++, для ввода двух целых с клавиатуры и затем вывода на экран результата возведения первого в степень второго. (Например, пользователь вводит 2 и 4, тогда результатом будет 24, или 16.) 4. Создайте функции str() для изменения порядка следования символов строки на обратный. Перегрузите rev str() так, чтобы она могла вызываться с одним или двумя символьными строками. Если функция вызывается с одной строкой, то операция должна осуществляться с ней. Если она вызывается с двумя строками, то результирующая строка должна оказаться во втором аргументе. Например: char sl[80], s2[a0]; strcpy(sl, привет ); rev str(sl, s2}; измененная строка оказывается в s2, si не меняется rev str(sll; измененная строка возвращается в si 5. Дана следующая программа, написанная в соответствии с новым стилем программирования на C++. Покажите, как превратить ее в программу старого стиля. tinclude <iostream> using namespace std; int f (inta) ; cout f (10) ; - return 0; i in int a) , .. - -.. . ,-Л: , return a * 3.1416; ) ... - - .... ... --- 6. Что представляют собой данные типа bool? Глава 2 Введение в классы В этой главе вводятся понятия классов и объектов. В следующих нескольких важнейших разделах фактически описаны почти все аспекты программирования на С++, поэтому советуем вам читать повнимательнее. Повторение пройденного Перед тем как тлжить, необходимо правильно ответить на следующие вопросы и сделать упражнения. 1. Напишите программу, использующую стиль ввода/вывода C++ для ввода строки и затем вывода на экран ее длины. 2. Создайте класс, который содержит информацию об имени и адресе. Храните всю эту информацию в символьных строках закрытой части класса. Включите в класс открытую функцию для запоминания имени и адреса. Таюке включите открытую функцию, которая выводит эти имя и адрес на экран. (Назовите эти функции sioreO и dispiay().) 3. Создайте перегружаемую функцию которая циклически сдвигает влево свой аргумент и возвращает результат. Перегрузите ее так, чтобы она работала с целыми (int) и длинными целыми (long). (Сдвиг по кольцу аналогичен обгчному сдвигу, за исключением того, что в1двигаем1й с одного конца слова бит появляется на другом его конце.) 4. Что неправильно в следующем фрагменте? ttinclude <iostream> using namespace std; class myclass { int i; public: 44 Салоучтель C++ { ... myclass ob; ob.i = 10; 2.1. Конструкторы и деструкторы Если вы писали очень длинные программы, то знаете, что в некоторых частях программы обычно требуется инициализация. Необходимость в инициализации еще более часто проявляется при работе с объектами. Действительно, если обратиться к реальным проблемам, то, фактически, для каждого создаваемого вами объекта требуется какого-то вида инициализация. Для разрешения этой проблемы в C++ имеется функция-конструктор (constructor fiincfion). включаемая в описание класса. Конструктор класса вызывается всякий раз при создании объекта этого класса. Таким образом, любая необходимая объекту инициализация при наличии конструктора выполняется автоматически. Конструктор имеет то же имя, что и -<\ частью которого он является, и не имеет возвращаемого значения. Например, ниже представлен небольшой класс с конструктором: ttinclude <iostream> using namespace std; f i.- . . class myclass { -...:> ., .. г j int a; i r public: , - :. myclass [); конструктор void 3how{) ; myclass::myclass() cou << В конструкторе\n ; a=10; void { cout << a;
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |