🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by Witold Przygoda Fri, 31 Oct 1997 14:37
Jak to zainicjalizowac?
#197
Author: Witold Przygoda
Date: Fri, 31 Oct 1997 14:37
51 lines
1926 bytes
Nie mam pomyslu jak (i czy w ogole da sie) rozwiazac ponizszy problem.
Otoz zalozmy, ze mam:

class X {
public:
int Size;
};

class Y {
public:
int *myMatr;
};

oraz

class Z {
public:
Y *myOutp;
};


Pomijam tu kon(des-)struktory, bo tego niejako dotyczy moje pytanie.
Otoz po kolei jest tak: tworze jakis obiekt klasy X oraz wskaznik do
niego. Zapisuje pole Size jakas wartoscia w tym obiekcie.
Teraz (przeskakujac) tworze obiekt klasy Z ale taki, ze konstruktor
rezerwuje:
		myOutp = new Y[5];

I teraz moj problem. Chcialem mianowicie, zeby powyzsza rezerwacja
wywolala wczesniej konstruktor dla klasy Y ale nie bezparametryczny,
tylko taki, ktory mi zrobi

myMatr = new int[Size]; 

gdzie Size to bedzie dana przekazana wlasnie z obiektu klasy X,
czyli ze moje myOutp (jak wyzej) to bedzie wskaznik do 5-element.
tablicy obiektow klasy Y, w ktorych "chwile wczesniej" rowniez
zrobilismy rezerwacje myMatr w wielkosci Size.

"Normalnie" zdaje sie tego sie nie da zrobic, bo przy tworzeniu
myOutp wolany jest konstruktor bezparametryczny dla klasy Y (czyli co
najwyzej moglbym wsadzic staly parametr-wielkosc tablicy), a ja
potrzebuje wlasnie przekazac parametr. Moze sie to da zrobic
przeladowujac operator new ale zupelnie nie mam pomyslu jak...

...moze ktos mi pomoze? ;)


Z gory dzieki!
WP
Re: Jak to zainicjalizowac?
#198
Author: Witold Przygoda
Date: Fri, 31 Oct 1997 21:58
11 lines
744 bytes
>...moze ktos mi pomoze? ;)


Gut, pomoglem sobie. ;)

http://www.ses.com/~clarke/cpptips/array_constructors



wp
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads