Przykładowe zadania do Laboratorium 5From MJanik(Difference between revisions)
Majanik (Talk | contribs)
(Created page with "Zadanie 5 - Konstruktor kopiujący i przeciążanie operatorów '''1. Konstruktor kopiujący."" 'Należy zdefiniować klasę człowiek (za wykładem): class czlowiek{ char *i...") Latest revision as of 15:16, 26 October 2012Zadanie 5 - Konstruktor kopiujący i przeciążanie operatorów 1. Konstruktor kopiujący."" 'Należy zdefiniować klasę człowiek (za wykładem): class czlowiek{ char *imie; //skladniki klasy to wskazniki, NIE tablice char *nazwisko; //kopiujac skladnik po skladniku robimy wierne kopie wskaznikow public: //pokazujacych na to samo miejsce w pamieci czlowiek(); czlowiek(char*, char*); czlowiek(const czlowiek &); ~czlowiek(); void wypiszCzlowieka(); void zmienNazwisko(char*); }; Oraz wypełnić odpowiednie funkcje składowe (konstruktory oraz funkcje wypiszCzlowieka i zmienNaziwsko).
int main() { char i[100]= "Jan"; char n[100]= "Kowalski"; char r[100]= "Nowak"; czlowiek c1(i, n); czlowiek c2(c1); c1.przedstaw(); c2.przedstaw(); c1.zmiana(r); c1.przedstaw(); c2.przedstaw(); return 1; }
a. Dla klasy cmplx (double re, doulbe im) proszę przeładować operatory +, -, *, = oraz << (ten ostatni wypisuje liczbę jako "re+i im" czyli np. dla "cmplx a(2,3)" komenda: "cout<<a"; wypisze na ekranie: "2+i3" )). b. Dla klasy czlowiek z poprzedniego zadania przeładować operator = (przypisać wartości pól: imię, naziwsko z obiektu z prawej strony operatora na obiekt z lewej strony). c. Przeciążyć operator [] (nawiasy kwadratowe!) dla klasy: class tablica { int a[100]; } by zwracał [i] - i-ty element tablicy.
- Użycia operatorów new i delete (tablice wskaźników wielce prawdopodobne) - powtórzenie - Konstruktory - powtórzenie, lista inicjalizacyjna konstruktora - Konstruktora kopiującego - Przeładowywania operatorów, w szczególności: +, <<, = i []
|