🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #197

Jak to zainicjalizowac?

#197
From: 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
Technical Details
Message-ID: <345aea31.117957546@news.uci.agh.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!news.icm.edu.pl!uucp-gw.cyf.gov.pl!polsl.gliwice.pl!agh.edu.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!news.icm.edu.pl!uucp-gw.cyf.gov.pl!polsl.gliwice.pl!agh.edu.pl!not-for-mail
From: wp@cyberdude.com (Witold Przygoda)
Newsgroups: pl.comp.lang.c
Subject: Jak to zainicjalizowac?
Date: Fri, 31 Oct 1997 14:37:51 GMT
Organization: University of Mining & Metallurgy
Lines: 51
Message-ID: <345aea31.117957546@news.uci.agh.edu.pl>
NNTP-Posting-Host: wfr001.gsi.de
Mime-Version: 1.0
X-Newsreader: Forte Agent 1.5/32.451
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit