Jeśli tworzysz konstruktor klasy pochodnej, to musi on użyć konstruktora klasy podstawowej (Ty go użyłeś).
Jednak, jak zauważył Pekfos, przekazujesz argument (domniemany, const referencję do obiektu vector, domniemana, bo przypisałeś = Vector2f( 0, 0 ) )
Ale... po co, skoro nie przesyłasz tego argumentu do konstruktora klasy podstawowej, ani nie używasz go w konstruktorze klasy pochodnej.
W dodatku stworzyłeś zmienną bool o nazwie "wciśniety". Z tym również nic nie robisz.
Mam wrażenie, iż myślisz, że klasa to puste pudełko, a konstruktor "wkłada" do niej zmienne (np. Twoją zmienną bool wcisniety)
To błędne rozumowanie.
Konstruktor jest do np. nadawania wartości zmiennym klasy. Można to zrobic ręcznie, np.
class Abc
{
bool wcisniety;
};
int main()
{
Abc obiekt;
obiekt.wcisniety = true;
}
Ale jeśli będziesz miał wiele składników klasy, lub będziesz tworzył wiele obiektów, to zobacz jak pięknie zmieni się działanie z pomoca konstruktora:
class Abc
{
bool a;
int b;
double c;
float d;
string x;
Abc( bool aa, int bb, double cc, float dd, string xx )
{
a = aa;
b = bb;
c = cc;
d = dd;
x = xx;
}
};
int main()
{
Abc obj1;
obj1.a = true;
obj1.b = 3;
obj1.c = 3.4;
obj1.d = 8.2;
obj1.x = "string";
Abc obj2( true, 3, 3.4, 8.2, "string" );
}
W przypadku, obj1 zrobiłem umyślnie błąd - jeśli mamy już konstruktor (i nie jest on domniemany), to musimy przy tworzeniu obiektu OD RAZU inizjalizować obiekt tym, lub innym konstruktorem (tak jak przy obj2), więc po prostu wyobraź sobie, że obj1 to osobny przykład, w którym klasa wygląda tak samo, ale nie ma konstruktora.
Czy teraz widzisz, do czego on służy?
[/cpp]