Newsgroup: it.comp.lang.c++
Titolo: [C++ DOS] Grafica 256 e altro

Avrei due quesiti da porvi:
1 Esiste un modo per usare 256 colori in Turbo C++?
   Premetto che non so quasi niente di assembly
2 Quando io creo un'array di oggetti, ad es.
   CPoint ps[10];
   come faccio a chiamare il costruttore di ogni oggetto?
   Esiste qualche altro metodo per inizializzare questi
   oggetti?
Thanks :-)

Ciao,
  allora con ordine:
1) Se non conosci l'ASM allora devi procurarti una libreria di terze-parti
(possibilimente free), tipo la X-Lib. Cmq e' un peccato perche' la vga
standard permette il modo 0x13 (320x200x256 colori) con giusto un poco di
"sfrugugliamento" ... un'altro motivo per conoscerne almeno le basi ;-)
2)
    CPoint ps[10];
con una simile dichiarazione dichiari 10 oggetti di tipo CPoint: il
costruttore (in questo caso CPoint()) viene automaticamente chiamato per
ognuno dei 10 oggetti. Credo che sia uno dei concetti elementari del C++ che
dovrebbe essere tenuto immediatamente presente ... :-|
Ciao!
--
Posted from [195.60.128.101]
via Mailgate.ORG Server - 
http://www.mailgate.org

Grazie per il 256 colori, ma per la storia del costruttore intendevo
un'altra cosa.
Mi spiego meglio: mettiamo che io ho una classe Planet3D che ha un
costruttore di questo tipo:
CPlanet3D::CPlanet3D(int intradius,int intcolor,int intdistfromsun,int
intspeed)
Io devo fare un sistema solare con un tot di pianeti
Pensavo di fare un array, ma se faccio un array come faccio a chiamare il
costruttore di ogni singolo elemento in modo da poterlo inizializzare?
"Mario Scalas" ha scritto nel messaggio
<000101be8c2e$8434f540$0c8c3cc3@mendo>...


costruttore di ogni singolo elemento in modo da poterlo inizializzare?
Ehe hehe ... questa e' una domanda da esame di Linguaggi di Programmazione
;-).
Devi fare cosi': dichiari un array di puntatori a CPlanet3D:
CPlanet3D *sistema_solare[10]; // Array di 10 puntatori
// Creo il primo con certi valori ...
sistema_solare[0] = new CPlanet3(raggio, colore, distanza, vel_rotazione);
// Creo tutti quelli che voglio COME li voglio ...
// ... e creo l'ultimo ...
sistema_solare[9] = new CPlanet3(raggio, colore, distanza+9, vel_rotazione);
Ok? :-)
Ciao.


costruttore di ogni singolo elemento in modo da poterlo inizializzare?
Usa la sintassi per l'inizializzazione degli aggregati:
class test {
    int i;
  public:
    test(int a):i(a) {};
};
int main() {
  test b[3] = { test(1), test(2), test(3) };
  return 0;
};
------------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
------------------------------------------------------------------

 via Mailgate.ORG Server - 
http://www.mailgate.org
Mi sembra tutto chiarissimo, ma la new non va fatta su CPlanet3D?

>Mi sembra tutto chiarissimo, ma la new non va fatta su CPlanet3D?
Ehi, come sei precisino! :-) Vabbe', hai ragione "new" va fatta su
CPlanet3D, ho solo sbagliato a scrivere ... ;-)
Ciao ciao


Grazie a tutti quelli che mi hanno risposto!! Non credevo che ci fossero
newsgroup così gentili e preparate!
"Mario Scalas" ha scritto nel messaggio
<000301be8e29$c5823240$0c8c3cc3@mendo>...
