Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: obiektowe programowanie- pytanie

03.03.2015 22:35
1
dirnis1
27
Chorąży

obiektowe programowanie- pytanie

cześć
mógłby mi ktoś wytłumaczyć 2 linijki kodu, których nie do końca działania rozumiem (obie linijki znajdują się w klasie Complex) :

1. Complex operator +(Complex &); //podobno ma to coś związanego z sumowaniem jakiś dwóch wyrazów

2. friend std::ostream & operator<< (std::ostream &out, Complex &l); //rozumiem że jest to funkcja zaprzyjażniona ale nie wiem w jaki sposób działa

03.03.2015 22:42
2
odpowiedz
Łysy.
73
Konsul

Przeładowanie operatorów.
Dla takiego int, czy float kod:

int foo = 3;
int bar = 44;

int tmp = foo + bar;

jest jasny, ale w momencie, w którym definiujesz własne klasy, operator +, ++, -- i wszystkie inne, nie mają zastosowania. Żebyś mógł ich użyć z własną klasą, musisz je przeładować. Te dwie linijki kodu to deklaracje takowych przeładowań.

Forum: obiektowe programowanie- pytanie