mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: HELP [File Name 8+3 format]

Conoscendo il nome di un file completo di percorso nel formato esteso
(Win98/Win NT) come posso conoscere il relativo nome nel formato 8+3 ?
Grazie K a chiunque mi aiuta.

 (Win98/Win NT) come posso conoscere il relativo nome nel formato 8+3 ?
Con le API GetShortPathName() o FindFirstFile().
EMG
PS. E' off-topic. Spostati in it.comp.programmare.win32.
EMG

Newsgroup: it.comp.lang.c++
Titolo: Semplice problema sulle stringhe [sorry!]

Ho bisogno di invertire una stringa (senza usare funzioni predefinite):
l'algoritmo mi sembra molto semplice, ma come faccio a far scrivere la
stringa invertita d completa (cioè dal 1° al 6° carattere senza ricorrere ad
un ciclo? Scusate per la banalità ma sono alle prime armi con il C++ (non
con la programmazione in generale...)
{
    char i[6] = {"Marco\0"};
    char d[6] = {"     \0"};
    Edit1->Text = "";
    for (int n = 5; n >= 0; n--)
    {
        d[5-n] = i[n];
    }
    Edit1->Text = d;
}
Grazie
Marco Trapanese

> cioč dal 1° al 6° carattere senza ricorrere ad un ciclo?
Come mai non vuoi usare un ciclo?

    Edit1->Text = d;
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>


Mi sembra stupido (certo per me non per il compilatore...) ricorrere ad un
ciclo per stampare una stringa, entità riconosciuta da quasi tutti i
linguaggi come oggetto unico. In effetti - per essere sincero - trovo
piuttosto "antipatico" il C++ riguardo alle stringhe. Forse xchè sto
sviluppando un programma che praticamente elabora continuamente stringhe,
converte stringhe in interi, stringhe in esadecimali e viceversa, insomma
tutto con le stringhe. E il bello è che non posso usare le funzioni
predefinite, poichè il software andrà poi su un uC, così devo farmi tutto da
me!
In altre parole, penso che vi romperò ancora le scatole... ;-)
Ciao e grazie
Marco Trapanese

 In altre parole, penso che vi romperò ancora le scatole... ;-)
Nessun problema.

ciclo per stampare una stringa
E se la stringa fosse composta da 100 caratteri anziche 6? A quel
punto non sarebbe più stupido, sarebbe indispensabile, a meno che tu
non voglia vendere programmi al chilo.
Il Ghenio
-----------
LOVELY SARA
Dal lunedi'al venerdi'su Italia Uno alle 8:10
Non perdetevelo...
-----------

Newsgroup: it.comp.lang.c++
Titolo: Salve

Salve sono nuovo in questo newsgroup: vorrei sapere se qualcuno di voi mi
saprebbe consigliare un buon libro per imparare bene il C++ ma scritto in
modo chiaro e limpido e qualche link
ringrazio anticipatamente tutti e a tutti coloro che mi risponderanno

 ringrazio anticipatamente tutti e a tutti coloro che mi risponderanno
Prego. Ciao :-)
-- 
Andrea Bergia - studente          Linux Registred User #281550
Per favore non mandatemi allegati in Word o PowerPoint.
Si veda 
http://www.fsf.org/philosophy/no-word-attachments.html
Newsgroup: it.comp.lang.c++
Titolo: Aiuto di sintass pls

Salve a tutti,
ho un problema con la sintassi:
ho una classe cosi' definita:
classe mia{
private:
  struct x { int a; }
public
  x *metodo(...) {...};
}
metodo ritorna un puntatore a x, ed in questo modo funziona ma adesso mi 
interesserebbe rimanere nella classe solo il prototipo x *metodo(...); e 
  scrivere fuori le istruzioni in questo modo:
x mia::*metodo(..){
...
}
ma questa sintassi non mi funziona nel caso voglio ritornare un puntatore.
Non sono riuscito a trovare nulla in letteratura, e' gradito qualche 
consiglio.

 }
mia:x *
mia::metodo(...)
{
	....
}
-- 
MSN: sirpsycho_78 -at- hotmail dot com
"Arditi, com'altro nomare questi baldi fiori del regime che osarono 
porre un imperativo categorico tra le sabbie bolsceviche di Marte."

 
sulla riga
mia:x *
ottengo questo errore: invalid function declaration

Manuel wrote:

ah, sì, scusa. x è una struttura privata alla classe mia, quindi se vuoi 
avere una funzione che restituisce un puntatore a tale tipo di 
struttura, devi dichiarare x pubblica:
class mia
{
public:
	struct x { int a; };
 
	x * metodo();
};
mia::x *
metodo()
{
	return 0;
}
così compila.


"Manuel" <I...@vanilla.sky> wrote in message 
news:43845da8$0$27595$4faf...@reader1.news.tin.it...

Forse sarebbe meglio se inserissi un codice almeno parzialmente corretto:
classe mia{  // forse class
private:
  struct x { int a; } // manca ;
public
  x *metodo(...) {...};
} // manca ;
Ho prova a riscriverla:
class mia
{
private:
  struct x
  {
    int a;
  };
public:
mia::x* metodo();
};
mia::x* mia::metodo()
  {
     return new x;
  }
int main()
 {
        mia n;
        mia::x* n.metodo();  // ERRORE !!! x e' stat dichiarata 'private'
       return 0;
 }
Spero di non avere capito male quallo che volevi fare.
Me ne scuso in anticipo
Fabio
 }


Propio non riesco a compilare, cmq non e' una cosa necessaria, scrivero' 
direttamente nella classe. Alla fine sono solo dei metodi che ritornano 
un puntatore ad un elemento privato della classe.

Newsgroup: it.comp.lang.c++
Titolo: Cancellare un file

Ho un compilatore Borland C++ 4.52 e vorrei sapere quale è la funzione che
permette di cancellare un file e in quale libreria si trova, grazie.

 permette di cancellare un file e in quale libreria si trova, grazie.
#include <cstdio>
int std::remove( const char * filename );
e si trova nella libreria standard del C++ (e anche del C).
	Mauro

 e si trova nella libreria standard del C++ (e anche del C).
...davvero ?
Ho sempre pensato fosse dipendente dal sistema...
Massimo
Newsgroup: it.comp.lang.c++
Titolo: Cosa indica quel numero?

Salve,
cosa indica il numero che stampa il seguente codice?
#include <iostream>
int main() {
    std::cout << int("X") << std::endl;
}
Sembra una locazione di memoria... viene intepretata come l'indirizzo di un 
puntatore? 


Sě, il puntatore alla stringa letterale "X".
E.
Newsgroup: it.comp.lang.c++
Titolo: aiuto per COM

Sto facendo qualche esperimento con COM. Il mio problema è il seguente:
ho creato un semplice componente con Visual Basic 5 (ActiveX Dll) contente
una classe che dispone di un metodo Test(). Test() ritorna una stringa.
In VB uso tale componente nel modo seguente:
Dim Obj as Object
set Obj = CreateObject("Project1.Class1")
msgbox Obj.Test()
e tutto va bene.
Se volessi utilizzare tale componente da un programma VC++ come devo fare?
Credo si debba usare la CoCreateInstance() ma non conosco l'interfaccia da
usare
(dato che non ho un include file con i vari tipi). Qualcuno mi pùo aiutare
?

usare (dato che non ho un include file con i vari tipi). Qualcuno mi pùo
aiutare
Ti puó aiutare il VC++5, che appunto genera un file di
include (.tlh) sulla base di una type library (che nel file
DLL fatto del basic é inclusa come risorsa).  Oppure,
se non hai VC++5 o vuoi comunque usare un approccio
di piú basso livello: con Ole/COM Object Viewer, come
sopra accennato, visualizza la type library in forma di
sorgente IDL; fai copy-and-paste di questo sorgente
in un file pippo.idl; giraci su MIDL, il compilatore IDL
(anch'esso incluso con VC++) e potrai ottenere un
file .h di piú basso livello, adatto a essere usato anche
da C.  In questo caso la interfaccia _Class1 apparirá
come contenente il suo "vero" metodo, cioé:
    HRESULT test(BSTR* bQualcosa);
(puoi ottenere questo "basso livello" anche con
la #import, con opportuni attributi), dopo di che
puoi fare tutta la sequenza di chiamate di basso
livello che il VC++ ti incapsula con lo smart pointer
di tipo _Class1Ptr che sopra usavamo...:
    CLSIDFromProgID
    CoCreateInstance
    SysFreeString (per liberare la BSTR)
    Release (per liberare l'ogggetto)
Ma, a parte l'indubbio interesse didattico, non
ci sono particolari ragioni per scendere a questo
livello di programmazione, anche se il C++
naturalmente lo permettere.
Alex
Newsgroup: it.comp.lang.c++
Titolo: [?] outportb

ho trovato su internet in un sito che spiegava l'uso della porta parallela,
nell'esempio diceva di collegare un led tra il pin 2 (positivo) e il pin 25
(massa) con una resistenza e a quel punto con questo semplice programma in c
(o c++ non so bene) il led si dovrebbe accende.
void main(void)
{
 int p;
 p=0x378;
 outportb(p,1);
}
e con questo si divrebbe spegnere
void main(void)
{
 int p;
 p=0x378;
 outportb(p,0);
}
Premetto di non averlo ancora testato ma volevo sapere qualcosa di più su
questo comando outportb() e sul suo usi, perché non specifica il pin 2
quindi mi sto un po' perdendo... :-(
grazie in anticipo
--
-=<(Gick)>=-
[Levare NOSPAM]
gi...@NOSPAMgick.cjb.net
http://www.gick.cjb.net

 grazie in anticipo
Outportb serve a fare uscire un byte da una porta I/O hardware.
Il primo parametro che passi (0x378) indica l'indirizzo della porta 
di I/O su cui vuoi fare uscire il byte.
Il secondo parametro e' il byte che vuoi scrivere sulla porta.
In pratica quindi con quel programma scrivi il byte 1 (00000001) sulla
porta di I/O 0x378 (la tua porta parallela), questo fa si che il bit D0
della parallela, che guarda caso fa capo al pin 2 del connettore, passi a
1 (~5V).
Attento che questo programma non funziona con WinNT, Win2000 e WinXP in
quanto questi SO proteggono le porte di I/O in modo che non possano essere
manipolati da programmi a livello utente.
Ciao
-- 
Slaine Mc Roth
Linux User# 312607
Linux Machine# 198324

 manipolati da programmi a livello utente.
quindi come posso fare avendo WinXP???



Cerchi su MSDN ed eventualmente chiedi in it.comp.programmare.win32.
Questo non è in NG giusto.
Max

 
Ti occorre un driver che piloti la porta a "ring 0" cioe' a livello
kernel. Se non sei in grado di scriverlo cerca con Google "portio".

Newsgroup: it.comp.lang.c++
Titolo: Costanti, ma solo per chi le usa da fuori la classe

C'è qualche modo per avere in una classe alcune variabili membro pubbliche che
non siano const per i membri della classe ma lo siano per chi ci accede dal di
fuori?
--
Stefano Pettini
Risposte solo sul newsgroup, please.

 fuori?
Non potresti semplicemente implementare dei metodi che restituiscono il
valore di quelle variabili come const T? Cosě facendo avresti anche il
vantaggio di poter controllare cosa i "client programmers" possono o non
possono fare con le tue variabili (valori fuori range, ad esempio).
EMG

 fuori?
Per modo di dire, ad esempio:
    class SP {
        int _i;
    public:
        const int& i;
        SP(int x): _i(x), i(_i) {}
        //...
    };
Chiunque puo` accedere ad i (e` costante), ma solo membri
e friend ad _i (l'equivalente non-costante).
Alex

Ciao,
La tecnica standard per ottenere quello che vuoi e' definire l'attributo
privato cosi' come i metodi che possono modificarlo, e definire pubblici
i metodi che restituiscono solo il valore. ad es.:
class A {
  public:
    int getI() const { return i; }
  private:
    void setI(int v) { i = v; }
    int i;
};
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: comandare n relé da porta parallela

è possibile tramite una porta seriale o parallela (dunque al massimo
con 8 bit programmabili) comandare l'accensione e lo spegnimento di un
numero potenzialmente molto alto (anche qualche migliaio) di relé o di
transistor in maniera indipendente l'uno dall'altro? In che modo si
potrebbe realizzare un simile circuito?


Si può. (anche se qui è OT. I gruppi migliori sono quelli che trattano 
di elettronica, come it.hobby.elettronica).
In ogni caso, per comandare i relé devi prima metterci di mezzo dei 
buffer per avere sufficiente corrente (oltre che salvare la porta 
parallela in caso di bobine danneggiate).
Sulla porta seriale devi ovviamente utilizzare un converitore 
seriale/parallelo prima di comandare i buffer, o utilizzare le linee di 
controllo (che possono essere settate mediante funzioni C il cui nome 
adesso non mi ricordo).
Se cerchi, per esempio, con google i circuiti per ricevitori infrarossi 
per Lirc puoi vedere degli esempi di interfacciamento a seriali con 
linee di controllo, e Lirc stesso monitorizza e gestisce tali segnali.
PSK

 wrote in message
1130599568.6...@g14g2000cwa.googlegroups.com...

con questo codice puoi gestire
la porta parallela (con xp e nt non funziona devi rimediare una dll che non
ricordo come si chiama)
short Inp(WORD portid)
{                                                      
 short res;                                     
 
  _asm  push dx                                   
 _asm  mov  dx  ,portid                          
 _asm  in   al  ,dx                              
 _asm  mov  res ,ax                              
 _asm  pop  dx                                   
 
 return(res & 0x0ff);                            
}                                                       
void Outp(WORD portid, WORD val)                        
{                                                       
 
 BYTE v = val & 0x0ff;                           
 
  _asm  push dx                                   
 _asm  mov dx, portid                            
 _asm  mov al, v                                 
 _asm  out dx,al                                 
 _asm  pop dx                                    
 
}                                                       
per quanto riguarda il circuito
elettronico ti devi informare
un pò di di più sull'integrato cmos 4094
che può essere collegato in cascata
Newsgroup: it.comp.lang.c++
Titolo: Dubbi con strtok

Salve,
ho visto alcuni esempi sull'uso di strtok:
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
  char str[] ="This is a sample string,just testing.";
  char * pch;
  printf ("Splitting string \"%s\" in tokens:\n",str);
  pch = strtok (str," ");
  while (pch != NULL)
  {
    printf ("%s\n",pch);
    pch = strtok (NULL, " ,.");
  }
  return 0;
}
Ho provato a fare delle modifiche al codice, ma non sono riuscito a
modificarlo per "processare" più stringhe con token in un unico while,
il risultato che ho ottenuto è stato disastroso :( 
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
  char str[]	= "This is a sample string,just testing.";
  char str2[]	= "This§is§a§sample§string§just testing.";
  char * pch;
  char * pch2;
  printf ("Splitting string \"%s\" in tokens:\n",str);
  pch = strtok (str," ");
  printf ("Splitting the 2nd string \"%s\" in tokens:\n",str2);
  pch2 = strtok (str2," ");
  while (pch != NULL)
  {
    printf ("%s\n",pch);
    pch = strtok (NULL, " ,.");
    printf ("%s\n",pch2);
    pch2 = strtok (NULL, "&");
  }
  return 0;
}
E' possibile fare una cosa del genere oppure debbo seguire una strada
diversa? 
Grazie per l'attenzione e saluti!

 diversa?
Mi spieghi come farebbe la strtok a sapere che una volta vuoi tokenizzare
una striga e la volta dopo l'altra?
Cmq no, non si può, perchè la strtok usa delle variabili statiche al suo
interno per mantenere uno stato, e quando tu le passi come primo parametro
una stringa allora resetta queste variabili interne, quando le passi NULL
usa il valore contenuto in dette variabili. Volendo potresti passare alla
strtok di volta in volta pch + 1 e pch2 + 1. Potrebbe funzionare (sono
stanco/è tardi/non ho voglia di pensarci... Scrivi dieci righe di C e prova
:-) )
Ah... Chiaramente devi scrivere qualcosa del genere:
pch = str;
pch2 = str2;
while (pch || pch2) {
if (pch) pch = strtok (pch + 1, " ,.");
if (pch2) pch2 = strtok (pch2 + 1, " ,.");
}
--- bye

 il risultato che ho ottenuto è stato disastroso
Dimentica 'strtok'. Questa funzione modifica la stringa sorgente. Non può 
esere usata con più stringhe contemporaneamente. Non è "rientrante". E 
nonostante tutte queste limitazioni, il compito che svolge è talmente 
banale che con poche righe di codice puoi realizzare le stesse operazioni 
senza alcuno degli inconvenienti citati.
Se vuoi qualcosa di già pronto usa
 
http://www.boost.org/libs/tokenizer/index.html
Max
Newsgroup: it.comp.lang.c++
Titolo: Ripulire lo schermo

Salve
Programmando in C++ come faccio a ripulire lo schermo?
Grazie!

Programmando in C++ come faccio a ripulire lo schermo?
Non puoi senza usare delle caratteristiche specifiche del tuo sistema
operativo. Ci sono stati dei post recenti su questo argomento.
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di un newsgroup generico in cui si
possa parlare di quei linguaggi di programmazione senza un gruppo
apposito vota per it.comp.lang su it.news.votazioni.

 ha scritto nel messaggio
news:4ap20u89qpc4mjoj1...@4ax.com...


 Programmando in C++ come faccio a ripulire lo schermo?
In C++ standard non esiste lo schermo. Ergo per accedere allo schermo
devi usare le API del tuo sistema operativo. Ergo devi chiedere nel NG
del sistema operativo che usi.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

 del sistema operativo che usi.
La funzione system() non è standard?
Ciao,
Cecco

La funzione system() non č standard?
Sě ma non lo č quello che ci metti dentro.


Newsgroup: it.comp.lang.c++
Titolo: DA SETTEMBRE

Dal 1°Settembre i sorgenti ed eseguibili dei programmi costruiti in C++ e
Assembly.
Non mancante!!!

 Non mancante!!!
C'e' qualcuno che riesce a trarre un senso da questo messaggio ?
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

> C'e' qualcuno che riesce a trarre un senso da questo messaggio ?
NO!

 C'e' qualcuno che riesce a trarre un senso da questo messaggio ?
se fosse straniero, direi un'altra povera vittima di babelfish, ma non 
lo e'....

C'e' qualcuno che riesce a trarre un senso da questo messaggio ?
Credo sia rivolto a tutti quelli come me, che per pigrizia,
hanno acquistato un compilatore C++, ma non l'hanno mai
utilizzato, in attesa che qualcun altro scrivesse i propri
programmi.  Finalmente qualcuno l'ha fatto.  
Era ora, e' dal 1992 che sto aspettando.

 wrote in message
news:3b958620...@news.tin.it...

ROTFL. Per un attimo (le prime due righe) ho avuto il dubbio che qualcuno avesse
veramente tratto qualche cosa dal messaggio.
Poi dalla terza riga in poi mi si e' accesa la lampadina.
Quando ho buttato l'occhio sul nome del mittente e' scattato il LOL.


 Quando ho buttato l'occhio sul nome del mittente e' scattato il LOL.
Salve,
Posso sapere che significa ROTFL e LOL? Già che ci siete, mi dite che
significa
":P" o una roba simile?
TANX.
ps: (X Giby)
Finalmente li hanno costruiti, e con i sorgenti.. wow...
non ti preoccupare non mancanterò. :)
-- 
Posted from 
rm3-719.dialup.tiscalinet.it
 [62.11.130.79] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ":P" o una roba simile?
http://www.ulysse.net/university/corsi/slang/internet_slang.pdf

Newsgroup: it.comp.lang.c++
Titolo: Python in VC++

Vorrei sapere come si fa a usare script Python da Visual C++.
Mi potete consigliare esempi  e link precisi dove trovare del materiale.
Grazie e a  presto

 Mi potete consigliare esempi  e link precisi dove trovare del materiale.
qui sei OT
cmq Boost oppure direttamente usando l'API di python
per altre domande chiedi su it.comp.lang.python
ciao
--
------------------------
http://visualwx.altervista.org/
nuova release 0.77g [freeware]
VisualWx rad per c++,python,perl,lua e wxwindows
Newsgroup: it.comp.lang.c++
Titolo: NON RIESCO A INCLUDERE QUESTA CLASSE

ciao a tutti sono nuovo qui.
Non riesco ad includere la classe qui sotto ricevendo l'orrendo messaggio del
compilatore no such file or directory cannot include sito.h
ANCHE SE IL FILE ESISTE PERCHE L'ho CREATO IO
premetto che sono utente di visual c++ 6.0
ecco i file aiutatemi!!!!
#ifndef SITOH
#define SITOH
#include <iostream.h>
#include "stringa.h"
#include "utilita.h"
class Sito
{
	public:
	//restituisce il campo codice
		int getcodice(){return codice;}
	//restituisce nmaxs per l'array semistatico
		int getnmaxs(char*);
	//costruttore senza argomenti
		Sito(char* st){cin>>nome; Stringa<getnmaxs(nome)> nome(nome);}
	private:
		//campi della classe
		card codice;
		char* nome;
		char* correnteArtistica;
};
	int	sito::getnmaxs(char* c)
		{int i=0;
			while(*c!='\0')
				{i+=1;c++;}
		return i;
		}
#endif
il file prova.cpp
#include "sito.h"
-- 
Posted from 
cs1-491.dialup.tiscalinet.it
 [62.10.171.235] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

               }
Questo è un errore, o scrivi getnmaxs in un .cpp o deve essere inline,
quindi o aggiungi la keyword inline o sposti la definizione di
getnmaxs all'interno della classe.
-- 
Marco Barisione (ICQ 84277092)

 }
Questo non compilerà. Immagino che Stringa sia una classe template
dichiarata come
 template< int i >  class Stringa { /* ... */ };
Il parametro, nell'instanziazione di questa classe template, deve essere
una "integral constant-expression". Questo esclude la possibilità di usare
il valore di ritorno di una funzione. (Ricorda sempre che l'instanziazione
di un template è una "faccenda" che deve essere risolta in fase di
compilazione.)
Inoltre, se anche l'instanziazione di Stringa<> fosse stata fatta
correttamente, resta il problema del nome 'nome', che è sia il nome di una
variabile locale sia il nome di un membro dati. Considera il seguente
codice:
      int i = 10; 
      {
          int i = i + 1;
      }
Questo codice è sintatticametne ben formato, ma è associato a un
comportamento indefinito. Diversamente da quanto si potrebbe essere
portati a credere, la 'i' che compare nell'espressione di destra
dell'inizializzazione della seconda variabile 'i' non denota la prima
variabile 'i', bensi proprio la stessa variabile che dovrebbe essere
inizializzata.
Max

Tank you max
sei stato molto esaustivo 
ciao.
-- 
Posted from 
cs1-682.dialup.tiscalinet.it
 [62.10.172.170] 


grazie anche a te 
se mi fate passare l'esame di fondamenti di informatica due 
vi santifico.
Ciao spero di sentirci quando imparo qualcosa in piu' 


		Sito(char* st){cin>>nome; Stringa<getnmaxs(nome)> nome(nome);}
Stai utilizzando un puntatore non inizializzato, occhio. Inoltre in
c++ non c'é più bisogno di utilizzare i char* perché esistono le
std::string definite nell'header <string>, molto più versatili e di
alto livello specie per coloro che non hanno una grande esperienza di
C.  Inoltre non hai alcun bisogno di passarle tramite puntatore, puoi
tranquillamente utilizzare un reference(&).
Il Ghenio
-----
These are my parting words to you:
those who give up are doomed!
-----
Newsgroup: it.comp.lang.c++
Titolo: AIUUUUUUTOOOOO! 3D IN C++

Slave qualcuno mi potrebbe aiutare spiegandomi qualche cosa su come
realizzare un videogioco 3d in c++ e come creare un motore 3d.
grazie anticipate.
Email: 
lza...@tin.it

grazie anticipate.
Ciao, quello che hai chiesto e' un argomento molto vasto al quale
anche io mi sto dedicando. Per cominciare direi che per l'aspetto
teorico dovresti avere qualche conoscenza di vettori e matrici, quindi
del loro utilizzo per effettuare trasformazioni come traslazioni,
rotazioni, scalature e proiezione prospettica.
Dal lato pratico dovresti scegliere una libreria grafica e qui le
scelte sono parecchie. Come minimo puo' anche bastare l'accesso alla
memoria video, poi naturalmente bisogna costruire tutto a mano, a
partire dal disegno di linee e il riempimento di triangoli. Oppure se
si vuole utilizzare qualcosa di gia' pronto e in particolare sfruttare
le schede 3D si dovra' scegliere tra:
- Glide: solo per schede 3DFX, ma molto veloce;
- OpenGL: standard multi-piattaforma, molto elegante e apprezzata
anche per applicazioni "serie";
- Direct3D: supportata da praticamente tutte le schede 3D per Pc, un
po' complicata e criticata (modello COM, programmazione Windows, ...).
Infine ci sono gli engine 3D belli e pronti con le funzioni da
richiamare e magari con i sorgenti da studiare. 
Esiste un sito con un elenco di centinaia di questi engine:
http://cg.cs.tu-berlin.de/~ki/engines.html
Ultimamente di questo genere ho scaricato una beta di Genesis3D che
ancora devo provare.
Spero di averti dato qualche indicazione valida, per chiarimenti o
altre richieste chiedi pure.
Ciao
Fabio
P.S. Per quanto riguarda la documentazione e' quasi tutta in inglese.
In italiano ci sono stati degli articoli sui numeri di DEV dell'anno
scorso. La stessa rivista pubblica adesso degli articoli sulla
programmazione delle Glide.
Newsgroup: it.comp.lang.c++
Titolo: string: incompatibilta' tra versioni gcc

Ciao Ragazzi,
stavo lavorando (senza problemi) ad una applicazion Client/Server con 
gcc 2.96 su due macchine distinte.
Ho dovuto reistallare una macchina con RH8 con gcc 3.2 ed ora ho un 
errore di compilazione:
In file included from socklibs.cc:4:
socklibs.h:110: `string' was not declared in this scope
la riga a cui fa riferimento e':
int Connect(string HostName, unsigned short Port);
Il file soklibs.h include string.h:
#include <string.h>
Che si fa in questi casi?
Grazie da un inesperto,
M.
P.S.:All'inizio ottengo anche un warning:
g++ -g -DCLIENT_DEBUG -DDEBUG -I- -I.     -c -o socklibs.o socklibs.cc
In file included from /usr/include/c++/3.2/backward/iostream.h:31,
                  from socklibs.h:4,
                  from socklibs.cc:4:
/usr/include/c++/3.2/backward/backward_warning.h:32:2: warning: #warning 
This file includes at least one deprecated or antiquated header. Please 
consider using
one of the 32 headers found in section 17.4.1.2 of the C++ standard. 
Examples include substituting the <X> header for the <X.h> header for 
C++ includes, or <sstream> instead of the deprecated header 
<strstream.h>. To disable this warning use -Wno-deprecated.

 <strstream.h>. To disable this warning use -Wno-deprecated.
Il warning mi sembra abbastanza chiaro: ti dice che hai incluso un
header obsoleto (<iostream.h>), e ti suggerisce anche di usare gli
header standard senza .h (e.s <iostream>) al posto di quelli obsoleti
o deprecati.
Per saperne di piu` puo` essere utile un buon libro sulla libreria
standard del C++, come quello di Josuttis (The C++ Standard Library,
Addison Wesley).
        Mauro

Folgorato da brillante idea, Massimo Canonico ha scritto il 19 Feb 2003  
(
news:3E53948F...@mfn.unipmn.it
):

sostituire string con la qualifica completa di namespace std::string
GCC > 2.9x ha mosso tutta la libreria standard nel namespace std
Poi devi convertire il formato degli headers al C99, che prevede
che si ometta il ".h" per gli headers standard
-- 
"Non mi piace il football, sta troppo ovunque: secondo me, l'eccesso di
calcio va a discapito del fosforo." (Marc 'O Chivec)
http://www.geocities.com/fabienstein
Newsgroup: it.comp.lang.c++
Titolo: AIUTO!!! Visualizzare immagini in Visual C

C'e' qualcuno in lista che mi sa dire
come fare per caricare e visualizzare
immagini formato JPG in un programma
Visual C++...
Grazie
Oscar
--
Automatic posted from 
almadns.unibo.it
 [137.204.1.15]
via Mailgate Server - 
http://www.mailgate.org


Le specifiche del formato JPEG (e di moltissimi altri formati file, grafici e
non) le puoi trovare su:
http://www.wotsit.org/
Se vuoi utilizzare una libreria "gią pronta" puoi provare a utilizzare PaintLib
(purtroppo in questo momento non ho la possibilitą di trovare un link
valido...).
---
Valter Minute
min...@fortech.it
 (the reply address of this message is invalid)
---
Are you looking for a good freeware ScreenSaver? Try FOYD!
http://hotfiles.zdnet.com/cgi-bin/texis/swlib/hotfiles/getit.bin?fcode=000PZ0
if you want, I can send you the (free) C++ source code.

Se ti interessa solo caricarle e non salvarle puoi utilizzare i controlli
Wang forniti con Windows
Ciao

 Wang forniti con Windows
Potresti essere cosl gentile da indicarmi dove posso trovare
documentazione sui controlli Wang


> 
http://www.geocities.com/sunsetstrip/stage/7787
 <<
<<<<<<<<<<<< _
Metal...@iol.it
 >>>>>>>>>>>>>>
(remove antispamming asterisks for mailbox reply)


PaintLib č una libreria free (č necessario specificare il copyright se si
ridistribuisce il codice).
Ho anche recuperato un link valido:
http://user.cs.tu-berlin.de/~uzadow/paintlib/
Per ulteriori informazioni (e codice sorgente) relative ai vari formati grafici
puoi consultare:
http://www.dcs.ed.ac.uk/~mxr/gfx/utils-hi.html


> 
http://www.geocities.com/sunsetstrip/stage/7787
 <<
<<<<<<<<<<<< _
Metal...@iol.it
 >>>>>>>>>>>>>>
(remove antispamming asterisks for mailbox reply)
WARNING: this mail address will expire on 1 august 1998,
alternative address after this date: 
Davide_...@RCM.inet.it

Newsgroup: it.comp.lang.c++
Titolo: Corsi on line di programmazione Access, SQL, Visual Basic

Impara a Programmare in VBA per Microsoft Access con i corsi on line
di programmazione Access. Impara secondo i tuoi tempi ed i tuoi ritmi.
Inoltre, corsi di Visual Basic ed SQL.
Inizio nuovi corsi il 22 Febbraio.
Per informazioni, contattare 
fdif...@mclink.it



Newsgroup: it.comp.lang.c++
Titolo: Manuale da scaricare

Dove posso reperire il manuale di C++ sulla rete?
--
GTN# 24619
www.goingtonight.it/register2.php?gtn=24619
goingtonight: se lo conosci ti iscrivi, se ti iscrivi ti rica..diverti!

 ha scritto nel messaggio
news:Xe7D5.19403$NY2.5...@news.infostrada.it...


Dove posso reperire il manuale di C++ sulla rete?
www.programmazione.it
 :
troverai un ottimo tutorial scritto da Paolo Marotta, semplice e completo.
Domenico Barra
Newsgroup: it.comp.lang.c++
Titolo: VC++ guida per il codice

Salve,
mi date una mano,
sto cercando in giro un manuale, tutorial, how-to ita per imparare il
Visual C++ ma trovo solo guide che ti spiegano come gestisce il
codice.. come muoversi tra le finestre.. come usare librerie Microzoz
con wizard ke ti genera giau lui l'interfaccia grafica only o a piu'
form.
pero a me piacerebbe iniziare da qualcosa di semplice pero anche
utile,
cioe' ocn del codice da scrivere, per fare azioni (anche un semplice
"Ciao mondo") pero scritto da me, capire come funziona la grammatica
C++ 
io come compilatore ho Visual C++ 
che progetto all'inizio mi consigliate di selezionare per avere un
ambiente pulito sensa mille form cosi da insireri il mio codice di
prove e vedere come reagisce.
io pensavo di iniziare da prompt cosi da non complicarmi la vita con
finestre tasti e varie (anche se da quello che ho visto li genera
lui..)
o mi sonsigliate diversamente?
pls un aiuto
Vi ringrazio tutti in anticipo.

 lui..)
E' sufficiente che tu scelga come tipo di progetto "Win32" e nelle proprietà
selezioni "Console application" ed "empty project". A questo punto inizi ad
aggiungere al progetto i file che ti interessano (*.cpp , *.h).
Se hai WinXp e similia, per evitare che la finestra della console con
l'output del programma sparisca subito dopo l'esecuzione, ricordati di
includere i seguenti passaggi:
#include <cstdlib>
...
system("PAUSE");
che permette di visualizzare la finestra dopo la conclusione del programma
fino alla pressione di un tasto.
In alternativa a Visual C++ puoi sempre usare l'ottimo Dev C++, che è free
ed ha meno fronzoli ed è forse piu' indicato per iniziare.
CIAO!!!

C++ 
Per imparare il codice ti consiglio di studiarti lo Stroustrup (C++
Fondamenti di programmazione) che secondo me è un ottimo libro
poi per imparare ad usare VC++ inteso come ambiente di sviluppo
devi prenderti i manuali apposta...
Emanuele


wrote:

ma soluzioni free a link di qualche programmatore ita che per passione
scrive how-to o simili cosi da iniziare sensa fare spese di quei libri
(che non sono poi kosi alla mano )
Newsgroup: it.comp.lang.c++
Titolo: Cercasi Collaboratori

Per scrivere articoli su:
java
c e c++
delphi
vb
vba
html
xml
3dstudio max
paint shop pro
photoshop
asp
javascript
.net
e altri linguaggi.
Per la precisione noi stiamo cercando collaboratori che hanno
intenzione di collaborare con noi scrivendo GRATUITAMENTE articoli sui
linguaggi citati.
L' opportunita' che offriamo e' quella di farsi conoscere al grande
pubblico come professionisti del settore in quanto il nostro portale
e' visitato da centinaia di persone al giorno e poi SUCCESSIVAMENTE di
creare dei supporti didattici in CD-ROM e CARTACEI (realizzati da lei
per nostro conto) che venderemo ai nostri visitatori con conseguente
percentuale sui guadagni. Se e' interessato ad avviare tale
collaborazione la preghiamo di contattarci su 
www.chicercatrova2000.it
all' email 
in...@chicercatrova2000.it
.

 e' visitato da centinaia di persone al giorno 
Siete proprio sicuri sicuri? Non è che questa è SPAM? Non è che se davvero
scrivete articoli gratuiti potreste unirvi a 
programmazione.it
, che è
*davvero* il più grande ed il più visitato d'Italia, in modo da non
frammentare i vari lavori?
-- 
Andrea Bergia - studente              Linux Registred User #281550
"The one thing we're all waiting for, is peace on Earth and an end to war,
it's a miracle we need, the miracle, the miracle, 
Peace on earth and end to war today,
That time will come one day you'll see when we can all be friends"
Newsgroup: it.comp.lang.c++
Titolo: intersezione rettangoli e controllo sovrapposizione

ciao a tutti.
ho questa struct Rect:
struct Rect { int left; int top; int right; int bottom; };
ho un vettore di Rect nel quale ci sono rettangoli di varie dimensioni.
ho un altro rettangolo Rect e devo controllare con quali rettangoli del
vettore si interseca.
c'è qualche metodo più efficace di controllarli ad uno ad uno? magari un
algoritmo già pronto..
grazie
ciao :: xaero

 wrote in message
news:9mgnpm$20uhi$1...@ID-51253.news.dfncis.de...

Ce ne sono tanti. Dipende da come sono ordinati i rettangoli e da quanti sono.
Prova a dare un'occhiata a uno dei libri di Sedgewick.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

 Prova a dare un'occhiata a uno dei libri di Sedgewick.
Mi auto correggo.
Avevo interpretato il problema come se si trattasse di trovare le intersezioni
fra i rettangoli del vettore. Invece devi trovare le intersezioni solo con un
rettangolo esterno al vettore.
In questo caso devi fare una sola considerazione: se il vettore e' ordinato (o
comunque esiste qualche altro genere di informazione pregressa sui suoi
elementi) allora puoi usare questa informazione per "scartare a priori" una o
piu' sezioni del vettore in tempo con O minore di N (per esempio con una ricerca
dicotomica). Se invece non ci sono criteri di ordinamento la cosa piu' veloce
che puoi fare per trovare le intersezioni con UN rettangolo e' paragonarli
tutti.
Ovvio che se questa operazione la devi fare spesso ... ti conviene ordinare gli
elementi!
Se poi la devi fare spessissimo ... ti conviene costuirti delle stutture
apposite, invece che un vettore.

Newsgroup: it.comp.lang.c++
Titolo: Char Multidimensionale Globale

Sto impazzendo.
Io avrei bisogno di una struttura preinizializzata di questo tipo:
 char *domandone[2][5][20]={
  {"Ci sei?","Sě","No","Cipicchia!","eh?"},
  {"Ci fai?","Certo","No!","Penso","uh?"}
      };
dove 2 sarebbero le righe, 5 le colonne e 20 la lunghezza delle stringhe.
il comando cout<<*domandone[0][0] mi stampa correttamente "Ci sei?", [1][0]
mi stampa "Ci fai?", tutti gli altri elementi risultano assolutamente nulli.
Perchč? Come posso fare per avere questo tipo di struttura? Io uso Dev-C++,
puň essere colpa sua? O c'č una logica dietro a tutto ciň?
Grazie a tutti.

 mi stampa "Ci fai?", tutti gli altri elementi risultano assolutamente
nulli.
Che io sappia gli array multidimensionali non possono essere messi sullo
heap, ma potrei benissimo sbagliarmi (cmq sullo heap non li ho mai messi).
Cmq a fiuto mi sembra l'asterisco in quel caso sia di troppo.
Di piů nin so
Bye
Antonio

 dove 2 sarebberole righe, 5 le colonne e 20 la lunghezza delle stringhe.
Sbagliato:
per avere quello che dici dovresti dichiarare 'domandone' così:
    char domandone[2][5][20];
Usa std::string oppure rendi almeno più leggibile il tutto.
Guarda quest'esempio:
#include <iostream>
using namespace std;
// Diamo una maggiore chiarezza al tutto...
typedef char stringa[20];
int main() {
    // Dichiarazione, definizione e inizializzazione di una matrice di
    // stringhe:
    stringa domandone[2][5] = {
        {"Ci sei?", "Si", "No", "Cipicchia!", "eh?"},
        {"Ci fai?", "Certo", "No!", "Penso", "uh?"},
    };
    // Esempio di accesso agli elementi:
    cout << domandone[0][2] << endl;
    cout << domandone[1][4] << endl;
    cout << endl;
    // Stampa integrale:
    for(int i=0; i<2; ++i) {
        for(int j=0; j<5; ++j)
            cout << domandone[i][j] << '\t';
        cout << endl;
    }
    return 0;
}
-- 
Domenico Testa - Studente

     char domandone[2][5][20];
grazie a entrambi, uso poco il c++ e mi faccio sempre fregare dalle
char...ho un po' questo vizio di puntare... :)

Newsgroup: it.comp.lang.c++
Titolo: Aiuto file.log

Salve ragazzi vi vorrei chidere una
mano per la formattazione di un file di log
non so come formattarlo!!
grazie

non so come formattarlo!!
I file .log non sono in un formato proprietario, infatti contengono del puro
testo ASCII. Se vuoi formattarli devi caricarli in un editor di testo e
salvarli in un formato che supporta le formattazioni (.doc, .htm, ecc).
Ciao, Giuseppe
Newsgroup: it.comp.lang.c++
Titolo: OOA Consiglio ...

ps - Eventuale follow-up su it.comp.lang.c++, che' qui siamo OT
c++ == sviluppo giochi quindi non siamo OT
lo scopo primario del c++ e' di essere ad oggetti (cosi' afferma il
suo creatore,StrouStroup), poi molti lo usano come un super C ma io
non sono d'accordo
si' le stl fanno parte a pieno titolo del c++ e io le uso sempre, ma
in un certo senso sono un "dettaglio di implementazione"... esempio:
il libro "pattern design" sull'OOD addiritura cerca di essere generico
sul linguaggio, riporta esempi sia in c++ che in  "eiffel",  lasciando
al lettore la reale implementazione di liste vettori etc etc di cui
dice "ce ne freghiamo di come siano implementate"
siccome il thread parla di libri sull'OOA , io mi sento di consigliare
un libro solo teorico (es. "design pattern") e magari poi un libro
sulle STL e altri aspetti del c++,   e sostengo pure che un libro che
parli sia di OO che di STL (se mai esiste) e' un minestrone o fritto
misto che non insegna affatto l'OO (ergo: un buon libro sul C++ che
parli pure di STL e' un buon libro su come usare il C++ ma non e' un
libro sull 'OO)

 molti lo usano come un super C ma io non sono d'accordo
	Lo Stroustrup invece dice che il punto di forza del C++ č quello di
supportare vari stili di programmazione, compresa la programmazione ad
oggetti. Insomma dire che un libro sul C++ deve essere un libro sulla
programmazione ad oggetti non mi trova affatto d'accordo. Semmai il Java.
_dave_

 libro sull 'OO)
E' vero e per fortuna. Con un linguaggio potente come il C++ perche'
limitarsi all'orientamento ad oggetti? E' come suonare il pianoforte con
una mano legata dietro la schiena...
Ciao,
Nicola

 questa discontinuita' con le STL.
no le STL ci fittano con il c++ e sono anche nello strourtouroerperp.
ovviamente mfc, windows, directX etc...  non ci fittano nulla.
ciao,
Antonio

 gli altri stili di programmazione supportati dal C++.
"Design Patterns" Di Gamma et al., suppongo
-- 
SpeedTech
http://www.speedtech.it

 suo creatore,StrouStroup), 
come ti e` gia` stato fatto notare questo non e` vero. Lo scopo 
principale del C++ e` di essere *multiparadigma*.
ciao Anto
-- 
Antonio Cuni, 20 anni, studente
Brainbench C++ Master: 4.73, higher than 99% of all previous test takers.
C Language: 3.79, higher than 92% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

 "Design Patterns" Di Gamma et al., suppongo
L'avrei pensato anch'io, se non avesse parlato di esempi in Eiffel. A
meno che non si sia confuso con lo Smalltalk.
Ciao,
Nicola

 Oppure la critica all'ereditarieta` viene spinta oltre?
Ad esempio l'uso dell'ereditarieta' dove sarebbe meglio usare
programmazione generica. Le Java Collections sono un esempio lampante di
questo tipo di errori.
 
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: shiftare un array

Ciao a tutti,
la domanda sarà banale, ma esiste una funzione già fatta che shifti
ciclicamente gli elementi di una posizione (a dx ad esempio) di un array
tipo
double a[10]
o devo scrivermela?
Grazie ciao


Che io sappia non esiste nulla del genere..devi riscrivertela!
--------------------------------
Inviato via 
http://usenet.libero.it

 tipo
 std::rotate
Max


Architecture: i386
Version: 20001213-2.1
Depends: g++, blas
Filename: pool/main/b/blitz++/blitz++_20001213-2.1_i386.deb
Size: 603614
MD5Sum: 3ec4d35afee3e00492db1ccb50be63ba
Description: C++ template class library for scientific computing
 Blitz++ offers a high level of abstraction,
 but performance which rivals Fortran.  The
 current version supports arrays and vectors.
 This package includes libraries and headers for
 compiling programs with blitz++.
 Homepage 
http://oonumerics.org/blitz/

Newsgroup: it.comp.lang.c++
Titolo: ennesimo dubbio sulla stl

Dubbio : per quale motivo l'algoritmo binary_serch richiede come parametri 2
iteratori LessThan_Comparable, utilizzando quindi un predicato di
StrictWeakOrdering ?
binary_serch ritorna bool se uno dei valori puntati dagli iteratori
all'interno del range [first,last) risulta equivalente ad un dato valore.
Quindi per ogni iteratore iter all'interno del range l'algoritmo deve
controllare che sia (*iter < value) che (value < *it) risultino false, per
considerarli equivalenti.
Se invece di un predicato StrictWeakOrdering ne utilizzasse uno di
TotalOrdering sarebbe necessario soltanto un (*iter == value) per stabilire
l'eguaglianza, sicuramente piu' veloce.
Aiutatemi a capire cosa mi sfugge...
grazie
Franz


Pero' richiedendo solo lo Strict Weak Ordering allenti i vincoli e
quindi rendi l'algoritmo piu' generale. Tra parentesi, non sono sicuro
dei dettagli dell'algoritmo, ma sono convinto che utilizzi un unico
confronto di uguaglianza (alla fine) mentre utilizza log_base_2(n)
confronti di minoranza. Non mi sembra che valga la pena di complicare le
cose.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Come evitare Warning ?

Salve a tutti. Sono da poco passato ad operare dal Borland C++ 3.0 per DOS,
a C++ Builder.
In questo momento, non riesco proprio a togliermi dai piedi un certo tipo di
warning.
In problema nasce dal fatto che ho bisogno di manipolare, (e quindi inserire
in una array stringa) un testo inserito in una Edit box. Essendo questo una
AnsiString, questo č quanto succede:
sprintf(miastringa,"La stringa č: %s",Edit1->Text);
Questa riga mi da il warning: "Structure passed by value."
Credo non sia una cosa grave, ma comincio ad avene piů di un centinaio nel
sorgente, di conseguenza NON mi accorgo quando invece mi segnala altri tipi
di warning.
Qualcuno saprebbe consigliarmi ?
devil_...@libero.it

 wrote in message
8061n5$qb1$1...@fe2.cs.interbusiness.it...

Non conosco il BC o il tipo AnsiString, ma ti sconsiglio di continuare ad
utilizzare questo metodo. Evidentemente Edit1->Text non e' un semplice
puntatore a char ma una struttura, il cui primo elemento e' il puntatore
alla stringa. Questo potrebbe non essere vero in successive implementazioni
e poi ti  "sballa" l'accesso allo stack in caso di piu' parametri.
Prova:
sprintf(miastringa, "La stringa e': %s - %d", Edit->Text, 10);
Le funzioni con numero variabile di argomenti come la sprintf usano le info
nella stringa di formattazione per mouversi fra gli argomenti. %s dice a
sprintf che l'argomento e' un char * e per passare all'argomento successivo
(10, un int) usa sizeof(char *), ma Edit1->Text non e' un char * ma usa
struttura con sizeof() > sizeof(char *) (probabilmente). Diventa impossibile
recuperare il 10. Probabilmente esiste una funzione apposita o un operatore
di conversione a char *. Cerca bene nell'help o prova con il cast a char *.
Se l'operatore di conversione e' definito, non dovrebbe darti errori. Se non
e' definito,ti segnala sicuramente un errore (non e' possibile convertire da
struct a char *).
Saluti, A.

 Questa riga mi da il warning: "Structure passed by value."
Prova ad utilizzare il metodo di conversione in stringa C (il tipo
std::string offre std::string::c_str()).
EMG

Cerca tra i manuali, ci deve essere una qualche direttiva #pragma che
disabilita la warning.
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------

 sprintf(miastringa,"La stringa č: %s",Edit1->Text);
[...]
sprintf(miastringa,"La stringa č: %s",Edit1->Text.c_str());
e' la sintassi corretta.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: come inizializzare classe1 che è una variabile di classe2?

Ho una classe che viene inizializzata passando dei valori
esempio:
classe1 c1(100);
ho una classe2 che nelle variabili private ha la classe1  c1.
come in zializzare le due classi?
potrei scrivere:
class classe2{
    private:
     classe1 c1;
    ...
}
classe2::classe2(int v)
{
c1(v);
}
ma mi da errore?
Come inizializzare c1?
Grazie!
mario.

 Come inizializzare c1?
Come si inizializzano tutti i membri delle classi:
  classe2::classe2(int v) : c1(v), ...
  {
  }
        Mauro


Dunque, l'inizializzazione di oggetti si fa con i costruttori.
In caso di gerarchia di classi, come è il tuo caso,
il costruttore dell'oggetto più grande deve chiamare correttamente,
e NATURALMENTE, anche il costruttore dell'oggetto(o degli oggetti)
che sono al suo interno.
E' come una variabile normalissima, solo che quando fai il costruttore
di C2, in questa funzione particolare devi richiamare
anche il costruttore(per inizializzarlo appunto) di C1, che resterebbe non
inizializzato.
Se mi posti la classe e la sua implementazione(sia di c1 che di c2),
ti correggo il tutto e ti spiego praticamente.
Ma penso che già hai capito ora.....
Ciao ciao e fammi sapere
Francesco
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/