Skocz do zawartości
kwiatus5

C++ Konstruktor Z Listą Inicjalizującą

Rekomendowane odpowiedzi

class Tablica

{

private:

int rozmiar;

int *const poczatek;

int ile_elementow;

public:

Tablica (int ile=0, int co=0);

~Tablica();

void wyswietl();

friend void info(Tablica);

};

 

int main()

{

Tablica t(5,2);

t.wyswietl();

info(t);

getch();

return 0;

}

 

Tablica :: Tablica(int ile, int co) // nie rozumiem tego kodu (chodzi o wykonanie)

: rozmiar ((ile>0)? ile:0),poczatek ((ile>00)? new int [ile]:0),

ile_elementow(rozmiar)

{

for (int i=0; i<rozmiar; i++)

poczatek =co;

}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tablica :: Tablica(int ile, int co) : rozmiar ((ile>0)? ile:0),poczatek ((ile>00)? new int [ile]:0), ile_elementow(rozmiar)

Poczytaj sobie o operatorze trójkowym i liście inizjalizacyjnej może?

 

Na liście inizjalizacyjnej, inizjalizowane są 3 wartości rozmiar(czym) , poczatek(czym) i ile_elementow(czym)

 

1. rozmiar(?)

jeśli ile jest wieksze od 0 to do rozmiaru wpisuje sie ile jeśli tak nie jest to wpisuje sie tam 0 (zapewne zabezpieczenie przed wart. ujemną)

 

2. poczatek(?)

jeśli ile jest większe od 0 zostaje stworzonona w zapasie pamięci tablica o liczbie el. ile i podstawiona do zmiennej początek jeśli nie wpisane zostaje tam 0;

 

3. ile_elementow(rozmiar) no to chyba wiadomo to samo co: ile_elementow = rozmiar;

...

4. potem w ciele funkcji w zależności jakie dostaliśmy wyniki z warunków na liście zapełniana jest tablica

w zależności od tych wyników tablica może nie być wcale zapełniana bo ta pętla np nie ruszy ani razu lub ruszy tyle razy ile wyszło z AD 1.

 

Za pisanie takiego kodu powinna sie należeć kula w łeb i fucki dla "developera" :huh:

Edytowane przez razor1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...