Программирование >>  Дополнительные возможности наследования 

1 ... 251 252 253 [ 254 ] 255 256 257 ... 265


5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

void setValue(Animal& , int); void setValue(Animal& ,int,int);

class Animal {

friend void setValue(Animal& ,int);

friend void setValue(Animal& ,int,int); изменение!

private:

int itsWeight;

int itsAge;

void setValue(Animal& theAnimal, int theWeight) {

theAnimal.itsWeight = theWeight;

void setValue(Animal& theAnimal, int theWeight, int theAge) {

theAnimal.itsWeight = theWeight; theAnimal,itsAge = theAge:

int mainO {

Animal peppy;

setValue(peppy, 5);

setValue(peppy, 7, 9); return 0; }

День IB

Koimpoibibie вовросы

1. Что такое оператор ввода и как он работает?

Оператор ввода ( ) является членом объекта istream и используется для записи данных в переменные программы.

2. Что такое оператор вывода и как он работает?

Оператор вывода ( )является членом объекта ostream и используется для записи данных в устройство вывода.

3. Перечислите три варианта перегруженной функции cin.getO и укажите основные их отличия.



Первый вариант функции-члена get() используется без параметров. Она возвращает значение считанного символа. При достижении конца файла она возвратит EOF (end of file, т.е. конец файла).

Второй вариант функции-члена cin.getO принимает в качестве параметра ссылку на символьную переменную. Этой переменной присваивается следующий символ в потоке ввода. Возвращаемым значением этой функции является объект iostream. В третьей, последней версии в функции get() устанавливаются массив символов, количество считываемых символов и символ разделения (которым по умолчанию является разрыв строки). Эта версия функции get() возвращает символы в массив либо до тех пор, пока не будет введено максимально возможное количество символов, либо до первого символа разрыва строки. Если функция get() встречает символ разрыва строки, ввод прерывается, а символ разрыва строки остается в буфере ввода.

4. Чем cin. readO отличается от cin. getlineO?

Функция cin. readO используется для чтения структур двоичных данных. Функция cin.getlineO предназначена для чтения из буфера istream.

5. Какая ширина устанавливается по умолчанию для вывода длинных целых чисел с помошью оператора вывода?

Автоматически устанавливается ширина, достаточная для отображения всего числа.

6. Какое значение возврашает оператор вывода? Ссылку на объект istream.

7. Какой параметр принимается конструктором объекта ofstream? Имя открываемого файла.

8. Что устанавливает аргумент ios: :ate?

Аргумент ios: :ate помешает точку ввода в конец файла, но вы можете записывать данные в любом месте файла.

Упражнения

1. Напишите профамму, использующую четыре стандартных объекта класса

iostream - cin, cout, cerr и clog. 1: Sinclude <iostream.h> 2: int mainO 3: {

4: int x;

5: cout Enter a number: ;

6: cin x;

7: cout You entered: x endl;

8: cerr Uh oh, this to cerr! endl;

9: clog Ouh oh, this to clog! endl;

10: return 0; 11: }

2. Напишите профамму, предлагающую пользователю ввести свое полное имя с последующим выводом этого имени на экран.

1: Sinclude <iostream.h> 2: int mainO



char name[80];

cout Enter your full name: ; cin.getline(name,80);

cout \nYou entered: name endl; return 0; }

3. Перепишите листинг 16.9, отказавшись от использования методов putbackO и ignoreO.

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21 22 23

Листинг 16.9. Измененный Sinclude <iostream.h>

int main() {

char ch;

cout enter a phrase: while ( cin.get(ch) ); {

switch (ch) {

case ! :

cout $;

break; case S ;

break; default:

cout << ch;

break;

return 0; }

4. Напишите программу, считывающую имя файла в качестве аргумента командной строки и открывающую файл для чтения. Разработайте алгоритм анализа всех символов, хранящихся в файле, и выведите на экран только текстовые символы и знаки препинания (пропускайте все непечатаемые символы). Закройте файл перед завершением работы программы.

sinclude <fstream.h> enum BOOL { EALSE, TRUE };

int main(int argc, char argv) возвращает 1 в случае ошибки {

if (argc != 2) {



1 ... 251 252 253 [ 254 ] 255 256 257 ... 265

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