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 []
|