kwiatus5 Opublikowano 8 Grudnia 2005 Zgłoś Opublikowano 8 Grudnia 2005 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; } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 8 Grudnia 2005 Zgłoś Opublikowano 8 Grudnia 2005 (edytowane) 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 8 Grudnia 2005 przez razor1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...