Witam!
Piszę od niedawna projekt i natrafiłem na problem, nad którym siedzę i póki co nie mogę znaleźć rozwiązania, wytłumaczenia. Mianowicie posiadam w swoim projekcie 3 klasy, jedną z nich jest klasa Pojazd, następnie dziedzicząca z niej klasa Samochód, a nad nimi znajduje się "interfejs", z którego chcę tworzyć nowe pojazdy.
private:
Pojazd* m_pojazd=NULL;
vector<Pojazd *> pojazdy;
tak wygląda zawartość interfejs.h, w którym tworzę wskaźnik na obiekt typu Pojazd. W pliku cpp tworzę obiekt klasy Samochód.
cout<<"Podaj cene samochodu"<<endl;
cin>>Cena;
cout<<"Podaj pojemnosc"<<endl;
cin>>pojemnosc;
cout<<"Podaj segment"<<endl;
cin>>segment;
m_pojazd = new Samochod(Cena,pojemnosc,segment);
cout<<m_pojazd->Get_PojemnoscSilnika()<<endl;
pojazdy.push_back(m_pojazd);
W tym miejscu znajduje się mój problem, a mianowicie w momencie kiedy wywołuje się funkcja Get_PojemnoscSilnika(), wywołuje się ona z klasy Pojazd, a nie z klasy Samochód i prowadzi to do tego, że wynik który pokazuje mi się na konsoli jest kompletnie z kosmosu.
Tak więc chciałbym się dowiedzieć w jaki sposób wywołać metodę z klasy Samochód, oraz przy okazji upewnić, czy dobrze umieszczane są obiekty w wektorze.