139

139



napisl = "Testl"; napisl += "Halo";

}

Naturalnym zachowaniem jest dążenie do użycia operatora przypisania przy inicjalizowaniu wartości jakiegoś obiektu, tak jak we fragmencie „Przed”. Operator przypisania działa na typach wbudowanych, takich jak float lub int. Jeśli chcemy, aby działał z naszymi własnymi klasami, to musimy go przeciążyć, tak jak pokazano we fragmencie „Po”.

Zauważmy, że nieprzeciążenie operatora przypisania sprawia, że kompilator po prostu wykonuje instrukcję memcpy. Jeśli klasa ma jakieś wskaźniki do danych umieszczonych w pamięci, to mogą wystąpić błędy, ponieważ zarówno klasa źródłowa, jak i jej kopia będą miały wskaźniki do tych samych danych. Jeden z egzemplarzy klasy może usunąć wskazywane dane, zaś odwołania w drugim egzemplarzu pozostaną niezmienione. To jest właśnie problem, który może nas zaskoczyć.

Dygresja

W wypadku przeciążenia operatora będzie on działał wówczas, gdy klasa będzie lewym argumentem. Lewy argument oznacza bowiem obiekt, do którego należy operator. Podobnie jest z funkcjami. W instrukcji pcoś—>Bar() oczekuje się, że funkcja Bar jest funkcją składową klasy Coś. Na przykład w klasie Napis możemy wykonać przypisanie:

napisl = "Testl";

Jednakże podanej operacji w klasie Napis wykonać nie można, ponieważ operator przypisania dla typu char * nie może wziąć klasy Napis jako parametru:

char *coś;

coś = napisl;

Przykład: klasa String w pliku String.cpp

Operatory mogą wykonywać więcej działań niż to się wydaje

pisanie szybkiego kodu

Kod źródłowy

class Napis

{

private:

int m_cch;


Wyszukiwarka

Podobne podstrony:
Agresja - co to jest i co ją wzbudza Agresja to takie zachowanie jednostki, którego celem jest dążen
IMGu64 I UWAGI WSTĘPNE Powszechną tendencją w świecie jest dążenie do możliwie wczesnego wypość żeni
PROBLEM NEGOCJACYJNY Zasadniczą kwestią w negocjacjach jest dążenie do sformułowania problemu
Podstawowym celem zarządzania przedsiębiorstwem jest dążenie do maksymalizacji wartości rynkowej fir
Badania marketingowe są podstawą do podejmowania decyzji marketingowych. Ich celem zaś jest dążenie
ISTOTĄ NAUKI JEST DĄŻENIE DO PRAWDY. 3 poziomy językowe oglądu świata: -poziom rzeczywistości -
Istotą procesu formułowania strategii jest dążenie do znalezienia odpowiedzi na cztery pytania: 1.
Cele organizacji Uniwersalnym celem organizacji jest dążenie do maksymalizacji powodzenia Cel to
chowe mrużenie oczu u osób źle widzących lub przy słabym oświetleniu. Spowodowane to jest dążeniem d
OGÓLNE ZASADY PROJEKTOWANIA Podstawową zasadą transportu zewnętrznego jest dążenie do doprowadzenia
PROBLEM NEGOCJACYJNY Zasadniczą kwestią w negocjacjach jest dążenie do sformułowania problemu
IMG49 (4) A New Intellectual Framework for Psychiatry Zrozumienie biologicznych podstaw zachowania
Koncepcja funkcjonalnego rachunku kosztów Bohrsa zakłada ,że celem przedsiębiorstwa jest dążenie do
Zdjęcie4370 Podstawowa przyczyna stosowania dodatków do żywności jest: dążenie do zaspokojenia wymag

więcej podobnych podstron