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ążenIMGu64 I UWAGI WSTĘPNE Powszechną tendencją w świecie jest dążenie do możliwie wczesnego wypość żeniPROBLEM NEGOCJACYJNY Zasadniczą kwestią w negocjacjach jest dążenie do sformułowania problemuPodstawowym celem zarządzania przedsiębiorstwem jest dążenie do maksymalizacji wartości rynkowej firBadania marketingowe są podstawą do podejmowania decyzji marketingowych. Ich celem zaś jest dążenieISTOTĄ 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 tochowe mrużenie oczu u osób źle widzących lub przy słabym oświetleniu. Spowodowane to jest dążeniem dOGÓLNE ZASADY PROJEKTOWANIA Podstawową zasadą transportu zewnętrznego jest dążenie do doprowadzeniaPROBLEM NEGOCJACYJNY Zasadniczą kwestią w negocjacjach jest dążenie do sformułowania problemuIMG49 (4) A New Intellectual Framework for Psychiatry Zrozumienie biologicznych podstaw zachowaniaKoncepcja funkcjonalnego rachunku kosztów Bohrsa zakłada ,że celem przedsiębiorstwa jest dążenie doZdjęcie4370 Podstawowa przyczyna stosowania dodatków do żywności jest: dążenie do zaspokojenia wymagwięcej podobnych podstron