lista inicjalizacyjna w klasie pochodnej

0

Witam, mam problem z programem na zajęcia. Ma klasę abstrakcyjną i drugą która dziedziczy po tej klasie. W tej pochodnej tworzę obiekt ale muszę użyć listy incjalizacyjnej z klasy nadrzędnej. Czyli tak:

CPilot::CPilot(string imie_f, string nazwisko_f, double stanKonta_f, double ocena_f) : COsoba(imie, nazwisko, stanKonta) 

A tak tworzę obiekt:

CPilot * pilot;
 pilot = new CPilot(pilot_imie, pilot_nazwisko, pilot_konto,pilot_reputacja);

Jednak przy próbie tworzenia obiektu wywala mi
Unhandled exception at 0x75832F71 in prog1.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x00B5E450.
Jeśli nie używam konstruktora klasy nadrzędnej to jest ok. Może ktoś pomoże?

0

Pokaż kod COsoba oraz main gdzie tworzysz tego pilota.

2

Nie dziwi Cię, że parametrami konstruktora są zmienne z sufiksem _f, a konstruktor klasy nadrzędnej dostaje je bez niego? Dla mnie brzmi to jak przekazywanie niezainicjalizowanych zmiennych ⟶ UB (ale tego nie da się z 100% pewnością powiedzieć nie widząc kodu).

0

@kq miałeś rację.... teraz mogę poprawnie utworzyć obiekt, dzięki

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