dostępem do kontenera w klasie

0

Witam.

Mam problem z dostępem do kontenera, który jest składnikiem pewnej klasy poza tą klasą. Obiekty wywoływane są dokładnie tak (pseudo kod):

jakaśFunkcjaZwracajacaWskaźnikTypBazowy() {
	KonstrultorPochodnyPochodnego(){
		KonstruktorPochodny():KonstruktorBazowy(){

		wskaźnik = KonstruktorPochodnyZupełnieInnejKlasy():KonstruktorBazowyZupełnieInnejKlasy();
		Kontener.pushback(wskaźnik);
		[1]
		}
	}
}
//wywołanie konstruktora bazowego zupełnie innej klasy:
KonstruktorBazowyZupełnieInnejKlasy(){
	KontenerBazowy.append();
	//czyli kontener zawiera coś, jest to widoczne poprzez pobranie ilości elementów w miejscu oznaczonym "[1]"
}

//deklaracja wskaźnika "ZupełnieInnejKlasyBazowej"
1.ZupełnieInnaKlasaBazowa *wsk;
2.ZupełnieInnaKlasaBazowa=wskaźnikTypBazowy->getWskaźnikDoObiektuPochodnegoZupełnieInnejKlasyZ"Kontener"();

wsk->pobierzRozmiarKonteneraZZupełnieInnejKlasyBazowej(); [2]

 

Linijki od 1-2 wykonuje poza funkcją, która zwraca wskaźnik wymieniony wyżej.

W miejscu oznaczonym [2] mam SEGMENTATION_FAULT mimo iż kontener posiada jakieś elementy. Czy ktoś może wyjaśnić dlaczego tak się dzieje ?

dzięki :)

0

Napisz ten kod jeszcze raz. Tym razem z sensem. To co tu wstawiłeś to jest OMG WTF. Co to niby jest

jakaśFunkcjaZwracajacaWskaźnikTypBazowy() {
        KonstrultorPochodnyPochodnego(){
                KonstruktorPochodny():KonstruktorBazowy(){
 
                wskaźnik = KonstruktorPochodnyZupełnieInnejKlasy():KonstruktorBazowyZupełnieInnejKlasy();
                Kontener.pushback(wskaźnik);
                [1]
                }
        }
}

Definicja funkcji wewnątrz definicji funkcji wewnątrz definicji funcji? Incepcja jakaś?
Poza tym co to jest kontruktor bazowy? Konstruktor klasy bazowej? I wołasz go na pałę ręcznie? o_O

Błąd który widzisz zapewne polega na tym że twoje "wsk" nie jest poprawnie ustawione. Ale to co tu pokazałes wskazuje na to, że błąd to ty czas projektowy i to dość spory...

0

nie wiem jak to wołasz do końca, ale problem możesz mieć w braku wirtualnych funkcji. I zgadzam się z poprzednikiem, to nie jest w żadnym wypadku 'pseudo kod'.

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