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

1 ... 175 176 177 [ 178 ] 179 180 181 ... 227


540 . Самоучитель C++

7. Аргумент по умолчанию - это значение, которое присваивается параметру функции при ее вызове, если при этом соответствующий аргумент функции не указан.

8. #include <iostrsain> ftinclude <c3tring>

using namespace std; ,

voi har *str, int count = 0);

int main ()

char *sl = Это проверка ;

char *s2 = Мне нравится C++ ; ; .

reverse (si); Реверс всей строки

reverse (s2, 7); Реверс первых семи знаков

cout si \n; cout s2 \n ;

return 0;

voi e (chiar *str, int count)

int i, j; . . . .

char temp; , . ,

if (! count) count = strlen(str) - 1;

t .::( . . .1-41.1

for(i=0, j=count; i<j ; i++r j -) I ,-.

temp i 1; .. -. T

3tr[ i ] = str[ j ] ; str[ j ] - temp;

. f *.

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

10. Неоднозначность может возникнуть, когда по умолчанию происходит преобразование тапа, а также при использовании параметра-ссылки или аргумента по умолчанию.

11. Пример неоднозначен, поскольку компилятор не может определить, какую версию функции compute() следует вызвать. Вызвать ли первую версию с аргументом по умолчанию divisor, или вторую - в которой функция получает только один параметр?



Приложение В. Ответы на вопросы и решение нений 541

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

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

1. ttinclude <iostream>

using namespace std;

void order{in ia, int fib) int t;

return;

else { а и b меняются местами t = a ; a = b;

= t; .

) . ,

int main(}

int X = 10, у = 5;

cou< x , у \n ;

order y) ;

cou< , <;< у \n ;

return

2. Синтаксис вызова кции, параметр которой передается по ссылке, идентичен синтаксису вызова функции, параметр которой передается по значению.

3. Аргумент по умолчанию ически, является компактной записью перегрузки функции, поскольку приводит к тому же результату. Например, инструкция

in int a, int b = 0) ;

идентична следующим двум перегруженным функциям:

int f (inta) ; -

in int a, int b) ;



4. ttinclude <iostream>

using namespace std;

class samp { int a;

public:

sampO { a = 0; } samp(int n) { a = n; } int get a() { return a; }

int mainO {

samp ob (88) ; samp obarray[10];

...

Самоучитель С++

5. Конструкторы копий необходимы, если программист хотел бы точно управлять процессом создания копий объекта. Это важно только в том случае, если создаваемые по умолчанию поразрядные копии по каким-либо причинам нежелательны.

ГЛАВА 6

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

1. clas lass I int x, у; public:

myclass (int i, int j) ( x = i; у = j; } myclass!) I x 0; = 0; } -

it . . . .

2. class myclass I int x, y; public:

myclass (int i = 0, int j = 0) I x = i; у = j; }

3. В объявлении функции после появления аргумента по умолчанию не должно быть обычных аргументов.



1 ... 175 176 177 [ 178 ] 179 180 181 ... 227

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