82259

82259



Uwaga: Jeśli argument nie pasuje do parametru dokładnie, to może być poddany konwersji dopasowującej, ale im konwersja ta jest bardziej złożona, tym dopasowanie pierwotnego argumentu uznaje się za gorsze.

#include <iostream.h>

void out(char par); void out (i nt par);

int main(void)

{

out('a');

out(2);

out(2.0); // błąd (niejednoznaczność) return 0;

ł

void out(char par)

I

cout« par «cndl;

I

void out(int par)

I

cout« par «endl;

I

Argument 'a' typu char najlepiej pasuje do parametru typu char. a argument 2 typu int najlepiej pasuje do parametru typu int.

Argument 2.0 typu double pasuje równie dobrze do parametru typu char jak i do parametru typu int. Ponieważ do żadnego z nich nie pasuje najlepiej, więc wywołanie out(2.0) jest błędne.

Gdyby z programu usunięto dowolną z funkcji out. to wszystkie odwołania do out byłyby poprawne.

Argumenty domniemane

W deklaracji parametru funkcji może wystąpić inicjator wyrażeniowy określający domniemaną wartość argumentu kojarzonego z tym parametrem.

int sum(int a. int b =0. int c =0);

Jeśli pewien parametr wyposażono w argument domniemany, to każdy z następnych parametrów także musi być wyposażony w argument domniemany.

int sum(int a, int b =0, int c); // Wad



Wyszukiwarka

Podobne podstrony:
Gdzie jestem? Dopasuj dymki do obrazków. UWAGA! Jeden z dymków nie pasuje do żadnego z obrazków
Karty pracy (9) Znajdź różnice Przyjrzyj się dokładnie zbiorom. W każdym z nich jest jeden obrazek,
Zeszyt Cwiczeń FUNKCJI POZNAWCZYCH 1 (11) ĆWICZENIE 9 W podanych niżej zestawach zaznacz ten wyraz,
A. GENERAL UNDERSTANDING I. Które słowo nie pasuje do pozostałych    /10 pkt. 1.
3. W każdym zbiorze skreśl jeden wyraz , który nie pasuje do pozostałych(j^jLizard Snake^N
Photo0273 STOPIEŃ 3 m A m QZADANIEZADANIE Która 7 liczb lub liter w dolnym trójkącie nie pasuje do

więcej podobnych podstron