Konstruktor w klasie dziedziczonej

Konstruktor w klasie dziedziczonej
L8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Witam mam problem z konstruktorem oto kod :

Kopiuj
VintagePort::VintagePort(const char *br, const char *st,int b, const char *nn, int y):Port(br, st, b)
    {
        nickname = new char [strlen(nn)+1];
        strcpy(nickname, nn);
        year = y;
    } 

Otóż kompilator wykrzykuje "undefined reference to Port::Port(const char , const char, int), przeciez instrukcją :Port(br,st,b) daje do zrozumienia, że chce jawnie wywołać konstruktor z klasy bazowej, a nie przekazac obiekt z klasy bazowej. Proszę o wytłumaczenie, z góry dziękuje i pozdrawiam.

Johnny_Bit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kielce
0

pokaż definicje+deklaracje Port. tak to można tylko zgadywać że zła deklaracja (np nie pokrywająca się z implementacją) przeszkadza.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
2

Masz coś skopane z projektem.
Ten błąd sygnalizuje, że prototyp konstruktora Port::Port(const char *, const char*, int) jest znany, ale treść tego konstruktora jest nieznana.

Najprawdopodobniej popełniłeś jeden z dwóch błędów:

  1. zapomniałeś zdefiniować ten konstruktor (zadeklarowałeś go tylko w nagłówku i na tym koniec).
  2. plik *.cpp z definicją konstruktora nie jest dołączony do projektu
L8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Marek rozwiązał problem, i oczywiście banalny błąd - nie zdefiniowałem konstruktora... chyba czas na przerwe :D
Dzięki za pomoc. Pozdrawiam

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.