Przeciążanie operatorów- jak działa

0

Dzień dobry,
sobie pisałem i się zasanawiam jak działa przeciążenie i czy musze je deklarować, no bo w internecie piszą, aby deklarować przeciążanie opreratorów, a ja widzę że bez tego działa poprawnie, więc dlaczego tak się dzieje?

class interval{
 public:
double left,right;
 	interval(double point):left(point),right(point){};
	interval(double point_a, double point_b):left(point_a),right(point_b){};
	double return_left();
	double return_right();
	double return_mid();
	double return_len();
	
	//friend interval operator -(const interval& object); Czy to jest potrzebne??
};
	interval operator + (const interval& object, const interval& object2)
	{
		return interval(object.left+object2.left,object.right+object2.right);
	}
def main:
        interval object(10,20);
	interval object2(5,4);
	interval object3 = object - object2;

oraz jak się to dzieje, co się dzieje, kiedy wykonam operację object3 = object - object2;?
w funkcji mam napisane, że do zmiennych object3 przypisywane są wyniki operacji return, ale gdzie one są wpisywane? po kolei do zmiennej left a potem do right?

1

Nie masz definicji operatora-, to nic się nie stanie. friend przy operatorach ma sens jeśli nie masz do wszystkich elementów getterów (nie zawsze ma to sens). Tutaj się bardziej rozpisałem: https://dsp.krzaq.cc/post/304/jak-przeladowywac-operatory-w-mojej-klasie/

1 użytkowników online, w tym zalogowanych: 0, gości: 1