/ / Szczegółowe wyjaśnienie przeciążenia operatora - c ++, przeciążenie operatora

Szczegółowe wyjaśnienie przeciążenia operatora - c ++, przeciążenie operatora

Jest tylko jeden aspekt, którego albo nie widzę, albo mój mózg jest zbyt zawalony, aby to zrozumieć, albo przeważam nad nim, tak jak zwykle ...

class CVector {
public:
int x,y;
CVector () {};  //*****This line*****
CVector (int a,int b) : x(a), y(b) {}
CVector operator + (const CVector&);
};

Nie mogę dla życia zrozumieć co mam "CVector () {};" robi w tym przeciążeniu / klasie operatora. rozumiem "CVector (int a,int b) : x(a), y(b) {}" tworzy obiekt, który oczekuje 2 int i przypisuje je do x i y. Rozumiem to również "CVector operator + (const CVector&);" jest prototypem funkcji związanej z przeciążeniem.

Ale co robi ta linia? Czy po prostu robi się pusty obiekt z pustym domyślnym?

Odpowiedzi:

1 dla odpowiedzi № 1

CVector () {}; jest domyślnym contructor, używany doutwórz obiekt z klasy CVector (bez przekazywania parametrów jak w innym konstruktorze). Nie ma to nic wspólnego z przeciążaniem operatora.