<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.if.pw.edu.pl/~majanik/wiki/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.if.pw.edu.pl/~majanik/wiki/index.php?action=history&amp;feed=atom&amp;title=Przyk%C5%82adowe_zadania_do_Laboratorium_5</id>
		<title>Przykładowe zadania do Laboratorium 5 - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.if.pw.edu.pl/~majanik/wiki/index.php?action=history&amp;feed=atom&amp;title=Przyk%C5%82adowe_zadania_do_Laboratorium_5"/>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~majanik/wiki/index.php?title=Przyk%C5%82adowe_zadania_do_Laboratorium_5&amp;action=history"/>
		<updated>2026-04-08T02:59:48Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.16.5</generator>

	<entry>
		<id>http://www.if.pw.edu.pl/~majanik/wiki/index.php?title=Przyk%C5%82adowe_zadania_do_Laboratorium_5&amp;diff=205&amp;oldid=prev</id>
		<title>Majanik: Created page with &quot;Zadanie 5 - Konstruktor kopiujący i przeciążanie operatorów  '''1. Konstruktor kopiujący.&quot;&quot;  'Należy zdefiniować klasę człowiek (za wykładem):  class czlowiek{  char *i...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~majanik/wiki/index.php?title=Przyk%C5%82adowe_zadania_do_Laboratorium_5&amp;diff=205&amp;oldid=prev"/>
				<updated>2012-10-26T15:16:05Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;Zadanie 5 - Konstruktor kopiujący i przeciążanie operatorów  &amp;#39;&amp;#39;&amp;#39;1. Konstruktor kopiujący.&amp;quot;&amp;quot;  &amp;#39;Należy zdefiniować klasę człowiek (za wykładem):  class czlowiek{  char *i...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Zadanie 5 - Konstruktor kopiujący i przeciążanie operatorów&lt;br /&gt;
&lt;br /&gt;
'''1. Konstruktor kopiujący.&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'Należy zdefiniować klasę człowiek (za wykładem):&lt;br /&gt;
 class czlowiek{&lt;br /&gt;
 char *imie; //skladniki klasy to wskazniki, NIE tablice&lt;br /&gt;
 char *nazwisko; //kopiujac skladnik po skladniku robimy wierne kopie wskaznikow&lt;br /&gt;
 public:         //pokazujacych na to samo miejsce w pamieci&lt;br /&gt;
 czlowiek();&lt;br /&gt;
 czlowiek(char*, char*);&lt;br /&gt;
 czlowiek(const czlowiek &amp;amp;);&lt;br /&gt;
 ~czlowiek();&lt;br /&gt;
 void wypiszCzlowieka();&lt;br /&gt;
 void zmienNazwisko(char*);&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Oraz wypełnić odpowiednie funkcje składowe (konstruktory oraz funkcje wypiszCzlowieka i zmienNaziwsko).&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
A następnie wykonać program:&lt;br /&gt;
&lt;br /&gt;
 int main() {&lt;br /&gt;
 char i[100]= &amp;quot;Jan&amp;quot;;&lt;br /&gt;
 char n[100]= &amp;quot;Kowalski&amp;quot;;&lt;br /&gt;
 char r[100]= &amp;quot;Nowak&amp;quot;;&lt;br /&gt;
 czlowiek c1(i, n);&lt;br /&gt;
 czlowiek c2(c1);&lt;br /&gt;
 c1.przedstaw();&lt;br /&gt;
 c2.przedstaw();&lt;br /&gt;
 c1.zmiana(r);&lt;br /&gt;
 c1.przedstaw();&lt;br /&gt;
 c2.przedstaw();&lt;br /&gt;
 return 1;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jaki byłby wynik, gdybyśmy nie zdefiniowali konstruktora kopiującego? (Proszę sprawdzić, komentując odpowiedni kawałek kodu!).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Przeciążanie operatorów.'''&lt;br /&gt;
&lt;br /&gt;
a. Dla klasy cmplx (double re, doulbe im) proszę przeładować operatory +, -, *, = oraz &amp;lt;&amp;lt; (ten ostatni wypisuje liczbę jako &amp;quot;re+i im&amp;quot; czyli np. dla &amp;quot;cmplx a(2,3)&amp;quot;  komenda: &amp;quot;cout&amp;lt;&amp;lt;a&amp;quot;; wypisze na ekranie: &amp;quot;2+i3&amp;quot; )).&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
c. Przeciążyć operator [] (nawiasy kwadratowe!) dla klasy:&lt;br /&gt;
&lt;br /&gt;
 class tablica {&lt;br /&gt;
 int a[100];&lt;br /&gt;
 }&lt;br /&gt;
by zwracał [i] - i-ty element tablicy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Na zajęciach można się spodziewać:&lt;br /&gt;
&lt;br /&gt;
- Użycia operatorów new i delete (tablice wskaźników wielce prawdopodobne) - powtórzenie&lt;br /&gt;
&lt;br /&gt;
- Konstruktory - powtórzenie, lista inicjalizacyjna konstruktora&lt;br /&gt;
&lt;br /&gt;
- Konstruktora kopiującego&lt;br /&gt;
&lt;br /&gt;
- Przeładowywania operatorów, w szczególności: +, &amp;lt;&amp;lt;, = i []&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zalecam też upewnienie się, że programy z poprzednich zajęć zostały poprawione.&lt;/div&gt;</summary>
		<author><name>Majanik</name></author>	</entry>

	</feed>