🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.objects
2 messages
2 total messages Started by Pawel Madziar Thu, 23 May 1996 00:00
Jak zrobic cos takiego?
#175
Author: Pawel Madziar
Date: Thu, 23 May 1996 00:00
16 lines
877 bytes
Mam pytanie:
pisze program (gnu C++) w ktorym jest klasa np. AA ktorej skladnikiem 
jest tablica 3-wymiarowa tab[][][].
Jak nalezy zdefiniowac klase, konstruktor i tablice aby mozliwe bylo 
takie wywolanie:
	costam = new AA(x,y,z);
ktore powodowaloby, ze tablica costam->tab od tej pory bedzie miala 
wymiary x,y,z?

-- 
Pawel Madziar
Warsaw Uniwersity, dep. of Chemistry
Poland
mailto:pmad...@chem.uw.edu.pl
http://zoolook.chem.uw.edu.pl/~pmadziar/
Re: Jak zrobic cos takiego?
#176
Author: Artur Lipowski
Date: Thu, 23 May 1996 00:00
34 lines
1412 bytes
Pawel Madziar wrote:
> 
> Mam pytanie:
> pisze program (gnu C++) w ktorym jest klasa np. AA ktorej skladnikiem
> jest tablica 3-wymiarowa tab[][][].
> Jak nalezy zdefiniowac klase, konstruktor i tablice aby mozliwe bylo
> takie wywolanie:
>         costam = new AA(x,y,z);
> ktore powodowaloby, ze tablica costam->tab od tej pory bedzie miala
> wymiary x,y,z?

Wydaje mi sie, ze skladnikiem klasy nie moze byc type tab[][][] tylko
type ***tab lub type* tab. 
Pierwszy przypadek implikuje zlozona (nie tak bardzo) konstrukcje i destrukcje
takiego atrybutu.
Drugi wymaga przeliczania indeksow przy odwolywaniu sie do konkretnego
elemantu.

Dla pierwszego przypadku - konstrukcja:
tab = new type**[x];
for ( int i=0; i<x; i++)
	{
	tab[i] = new *type[y]
	for ( int j=0; j<y; j++ )
		tab[i][j] = new type[z]
	}
destrukcja j.w. w odwrotnej kolejnosci


-- 
Pozdrawiam,
Artur Lipowski
ar...@tpg.krakow.pl
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