mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Problema circa la collaborazione di alcune classi

Buona notte (o buongiorno per chi leggerà più tardi) a tutti,
chiedo scusa se il titolo non è autoesplicativo, ma per chiarire il
mio problema nel dettaglio ho bisogno di spiegarvi la situazione del
mio sorgente.
Sto realizzando una specie di parser, per ora si limita ad aprire il
file e a fornire un semplice sistema per la gestione di eccezioni.
Ho questa situazione:
FileClass si occupa di lavorare sul sorgente (attualmente apre e
chiude lo stream)
ExploreClass si occupa di cercare all'interno dello stream aperto da
FileClass.
Parser fornisce una semplice astrazione per poter lavorare sul file
(aprire e leggere) da un solo oggetto.
La classe Parser accetta come argomento del costruttore il nome del
file e quindi lo passa alla classe FileClass che aprirà lo stream
conservandolo in una variabile privata di tipo fstream. La classe
Parser tiene un riferimento privato all'oggetto creato con la chiamata
a FileClass.
Adesso avrei la necessità di creare un oggetto di tipo ExploreClass su
cui basare i metodi per leggere nel file (ad esempio il metodo
getValue dell'oggetto Parser effettua una chiamata tramite il proprio
oggetto privato ExploreClass alla funzione GetValue di questa classe).
In che modo posso far passare passare alla classe Parser il
riferimento dello stream dalla classe FileClass a quella ExploreClass
che ne ha bisogno per effettuare le operazioni di input sul file?
Pensavo a rendere pubblico il riferimento allo stream della classe
FileClass e quindi passare al costruttore di ExploreClass questo
riferimento esplicitamente, ma può darsi che ci sia un metodo più
"elegante" per fare ciò...
Probabilmente per fare questo potrei semplificarmi la vita usando una
sola classe che faccia tutto il dovuto ma ho intenzione di imparare a
far collaborare le classi e dividere i vari compiti...
Grazie mille a chiunque risponderà... ps. se non sono stato chiaro e/o
necessita il sorgente lo posto quanto prima non lo metto solo per non
generare confusione.

 far collaborare le classi e dividere i vari compiti...
Si, ma secondo me stai dividento troppo.
  bye
	av.


Grazie mille del consiglio, farò in questo modo. Comunque la soluzione
al problema l'ho trovata -ed ho imparato una cosa nuova-: classi e/o
funzioni friend. :-)
Passando come argomento al costruttore della classe un riferimento
alla classe contenente lo stream posso operare direttamente sul suo
parametro privato, comunque sia non vedo più il motivo di avere
oggetti con uno o due metodi soli...
Buona giornata.

Newsgroup: it.comp.lang.c++
Titolo: switch e stringhe

E' possibile fare una cosa del genere in C?
char *pippo;
switch (pippo) {
case "ciao":  /* al posto di una costante metto una stringa */
        bla bla bla
case "pluto":
    bla bla
ecc ecc
Grazie
Fabrizio

 switch (pippo) {
No.
Max
Newsgroup: it.comp.lang.c++
Titolo: Menu di Winword

  Da qualche parte avevo trovato parrecchio tempo fa il modo di
aggiungere voci personalizzare in Winword ed Excel
  qualcuno mi può dire come si fa?
  oppure i riferimenti (libri, MSDN [meglio],  internet [meglio]) 
       e un semplice esempio da usare?
Grazie a tutti
ciao

  Da qualche parte avevo trovato parrecchio tempo fa il modo di
aggiungere voci personalizzare in Winword ed Excel,
ma adesso non lo ricordo più!


Newsgroup: it.comp.lang.c++
Titolo: Aiuto!!! Errore passaggio parametri

Ho un problema utilizzando le GLUT (opne GL utility) con il
compilatore VC5 in un'applicazione console. 
Quando imposto una funzione di callback ES:
glutDisplayFunc(display);
dove 	void display(void);
e' il prototipo della funzione 
il compilatore mi da come errore:
'glutDisplayFunc' : cannot convert parameter 1 from 'void (void)' to
'void (__cdecl *)(void)'
Questa cosa e' avvenuta quando ho cercato di creare una classe delle
mie funzioni grafiche, prima non accadeva.
Riepilogando: in una funzione della classe che ho fatto c'e' questa
chiamata di funzione ( glutDisplayFunc) che ha come parametro un'altra
funzione della stessa classe. 
Ho provato a fare vari tipi di casting ma la verita' e' che non ho
capito veramente quale sia il problema (non conosco bene il c++).
Salvatemi questa cosa mi fa sentire veramente stupido.
Grazie Padre Brown. 

...



Non e' cambiato nulla ma grazie lo stesso .
Ciao. 

Grazie Padre Brown. 
Quindi il codice che da il problema, ridotto all'osso e' come il
seguente:
#include <GL/glut.h>
class Prova {
void display(void);
void set_callback(void) { glutDisplayFunc(display); }
};
Questo codice non funziona perche' Prova::display() in realta' ha un
parametro nascosto che e' il puntatore this, il quale permette
l'accesso all'oggetto corrente.
Puoi mantenere comunque la funzione dentro la classe dichiarandola
static, pero' perdi l'accesso diretto agli attributi dell'oggetto.
Fabio
Newsgroup: it.comp.lang.c++
Titolo: differenza di comandi

Che differenza c'è tra scrivere std::cout <<...
o cout<< normale senza il st::
e che diff c'è tra endl o '\n'?
grazie Alex

e che diff c'è tra endl o '\n'?
Non puoi scrivere cout e basta a meno che non hai da qualche parte
"using namespace std".
std è un namespace, i namespace sono utilizzati per evitare conflitti
fra i nomi, ad esempio immagina che due persone lavorino assieme ad un
progetto, uno si occupa dell'interfaccia grafica, l'altro al programma
vero e proprio. Entrambi hanno una funzione init, a questo punto ci
sarebbe un conflitto fra i due nomi per questo sono stati creati i
namespace. In questo caso tutti i nomi dell'interfaccia grafica
sarebbero stati inseriti in un namespace e il resto del programma in
un altro. Facendo così dall'esterno di un namespace la funzione init
andrebbe chiamata così:
nome_namespace::init()
-- 
Marco Barisione (ICQ 84277092)
Su it.news.gruppi si sta discutendo della creazione di it.comp.lang
dove si parlerà dei linguaggi senza un proprio newsgroup e dei
confronti fra i diversi linguaggi.
Se sei interessato unisciti alla discussione.

 e che diff c'è tra endl o '\n'?
Alla prima ha gia' risposto Marco; per la seconda: endl, oltre ad
emettere un newline, svuota il buffer di output.  std::cout e', di
default, bufferizzato (mentre std::cerr non lo e'); questo puo' voler
dire, se ad esempio scrivi contemporaneamente su cout e cerr e gli
streams non sono rediretti, mescolare tra loro le uscite invece di
ottenerle in sequenza temporale.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
Newsgroup: it.comp.lang.c++
Titolo: file.exe

Salve. Sto studiando C\C++ e qualcosa sulle applicazioni per Win32. Molto ma
molto interessante. Uso LccWin e il Borland. Va molto bene.
Solo una cosuccia: per le applicazioni di API tutto ok, ma con i file .exe
di C e C++ perchè non riesco ad aprirle dal sistema operativo? (Windows 98)
Cioè si aprono ma subito si chiudono! Sciocchezza ma se me lo spiegaste...
Grazie
Hal9000

 di C e C++ perchè non riesco ad aprirle dal sistema operativo? (Windows 98)
con il borland potresti utilizzare la funzione getch() in conio.h ( non
standard) alla fine del
tuo programma o dove ti ineressa, essa attende la prssione di un carattere.
ciao Nicola

UTILIZZI NELLA FUNZIONE WINMAIN UN VALORE INT O VOID COME RETURN?
PROVA AD UTILIZZARE INT E INSERENDO RETURN 0;
ALTRA COSA, RICORDA CHE PER PROGRAMMARE IN AMBIENTE WINDOWS DEVI UTILIZZARE
DELLE WINDOWSPROC
STAI MOLTO ATTENTO A QUESTA FUNZIONE CHIAVE.
Newsgroup: it.comp.lang.c++
Titolo: Aiuto struttura classi

Salve a tutti,
vi scrivo per un piccolo dubbio sù un piccolo progetto che vorrei fare un pò
per hobby è un pò per un programmino che sto realizzando.
Vorrei sfruttare l'ereditarietà e il poliformismo per risolvere il mio
problema ma non so se sto procedendo correttamente.
Ho costruito un piccolo editor di testo che (per ora) dovrebbe essere
specializzato nella realizzazione di pagine PHP ( non importa su che
piattaforma ).
Vorrei implementare una classe all'interno dell'editor che dato il testo
inserito estragga tutti i simboli dello script (funzioni, variabili, ecc.
ecc ) e li renda disponibili
ad esempio per funzioni di autocompletamento .
Il problema è che non vorrei fare una classe "SymbolPhp" perchè in questo
modo se un domani volessi
inserire un parser di funzioni C++ dovrei modificare tutto il codice che usa
la classe.
Pensavo dunque di fare una classe astratta "Symbol" che implementa le
funzioni base e poi derivare da questa tutte le varie classi SymbolPhp
SymbolCpp etc. etc.
Detto ciò io avrei nella mia classe Editor:
class Editor
{
    void LoadSymbol( char* buffer );
private:
    Symbol*   m_symbol;
    int type;
}
e la funzione "LoadSymbol":
void Editor::LoadSymbol( char* buffer )
{
    if ( type == PHP )
    {
        symbol = new SymbolPhp;
    }
    else if ( type == CPP )
    {
        symbol = new SymbolCpp;
    }
}
Quello che vorrei chiedervi è se il mio ragionamento è logico, è pulilta
l'istruzione "symbol = new SymbolPhp;" ?
Ovviamento nelle altre funzioni di lettura in base alla tipo di classe da
usare dovrò fare un casting e quest'idea non mi piace tanto.
Chiedo lumi a voi.
Grazie,
Gian

Ciao,
Credo che il tuo problema abbia una soluzione elegante nel pattern Builder.
A disposizione chiarimenti.
Buon lavoro.
__
Niente e nessuno al mondo potrà
fermarmi dal ragionare.

Sardone wrote:

implementa LoadSymbol nei rispettivi Tipi (CPP o PHP) mentre in 
Editor dichiaralo virtuale. In tal modo non occorrerò neppure 
più un campo TYPE scritto a mano, poiché il meccanismo (runtime) 
di riconoscimento VIRTUALE ed invocazione del metodo corretto 
prescinde dal tipo del puntatore
in altre parole avresti uan classe astratta Symbol che 
implementa un metodo LoadSymbol "vuoto", da overloadare 
necessariamente.
Attraverso un puntatore a Symbol potrai invocare il corretto 
LoadSymbol (appartenente ad un oggetto CPP o PHP) senza più 
porti il problema.
Sono stato un po' confuso, lo so ... ho fretta, ma guardati il 
meccanismo di selezione dei metodi virtuali (che servono proprio 
a evitare codifiche a mano dei campi Type e i costrutti switch e 
catene di IF. Il prezzo in overspace e overtime, a runtime, è 
eguale a una codifica manuale fatta bene (o più veloce). Le 
resilienza del codice scritto notevolmente superiore.
ciao
cccp++mario


class Editor
 {
     void LoadSymbol( char* buffer );
 private:
     Symbol*   m_symbol;
     int type;
 }
 
ma LoadSymbol cosi' e' privata...
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: [classi] Io ci ho provato, ma....

Ho provato a fare un piccolo programma, così strutturato:
project1.cpp            main
anno.h                      dichiarazione della classe Anno
anno.cpp                   definizione delle funzioni membro
mi dà errore nel file anno.cpp, dicendo:
Type 'Anno'  may not be defined here
in corrispondenza del costruttore di default
se qualcuno ha voglia di darmi una mano, me lo dica che gli spedisco i
sorgenti per mail
Raffaele


/*
anno.h */
class Anno
{
	public:
		Anno();
		~Anno();
};	// ricordati il ; alla fine
/* anno.cpp */
#include "anno.h"
Anno::Anno()
{
	//
}
Anno::~Anno()
{
	//
}
è un pò sempliciotto come esempio.. ma sicuro che non hai dimenticato
qualcosa di questo esempio?

 }; // ricordati il ; alla fine
LOL....ho dimenticato proprio quello! ;;;;;;;;;;
Raffaele

Newsgroup: it.comp.lang.c++
Titolo: open socket

Ciao a tutti!!
Come si fa ad aprire un socket in ricezione su piaattaforma win2000 ed
utilizzando come ambiente di sviluppo VS98?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:      it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
                server 
newsgroups.borland.com
 (prevalentemente in 
                inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti

Newsgroup: it.comp.lang.c++
Titolo: INSEGNO IL C++ GRATUITAMENTE

Per informazioni 
tre...@grisnet.it

Si sei bravo, sei bravo veramente bravo....
Perche' invece di starti a pavoneggiare, tipico se tu fossi veramente un (o
una)
13enne, non rispondi a qualche messaggio?
Hai spedito 6 (sei) volte lo stesso messaggio e alla fine tale NFrancesco ti
ha risposto sul NG. Dai su rispondi ... che ti costa ... infondo tu
_*Insegni il c++
gratis*_ ... a 36 alunni!!
Almeno dimostra che mi sto sbagliando.
PS.: Alessio Treglia e' lo stesso di !!!!!CERCASI LAVORO!!!!!
PS2.: Il tutto e' stato scritto amichevolmente NON per creare un
bel flame OK? Se vuoi creare un flame rispondi in mail e non sul NG
lasciamo fuori chi non e' interessato!
PS3.:Scusa NFrancesco tu non c'entri niente...
--BGies smiles--
Ellen: When I was 7 years old my father took me to the zoo.
Jack: Did they accept you?
BGies at 
bg...@mercurio.it
Newsgroup: it.comp.lang.c++
Titolo: compilare con GNU C/C++

Ciao.
Abbiamo un problema a compilare dei banalisimi programmi in C++.
Usiamo il compilatore GNU da Linux.
Riusciamo a ottenere i file object, ma poi non gli eseguibili.
Qual è la sintassi da seguire?
Ciao ciao 
 Marco e Riccardo

Qual è la sintassi da seguire?
Quale e' il problema? compila i .o e poi non linka, lamentandosi di simboli
non definiti?
Se e' cosi', provate a scrivere un bel: g++ -o myprog pippo.o pluto.o ....
etc.  Quando chiamate gcc come g++, lui ;-) sa che deve linkare anche le
librerie sharate del c++.
Alessandro Coppo
a.c...@iol.it
www.geocities.com/SiliconValley/Way/8111/
www.geocities.com/alexcoppo/

g++ nomefile.C -o nomefile
-- 
Simone Piccardi
Microsoft is NOT the answer. Microsoft is the Question.
The answer is: "NO!"

 librerie sharate del c++.
Non so oggi, ma un tempo questo tirava dentro anche delle
librerie non standard (libg++ o che) che potrebbero dare dei
problemi (compatibilita`, portabilita`, ecc).
    gcc -lstdc++ ecc ecc
era il metodo piu` pulito per avere le sole librerie standard
del C++ (vabbe`, la _approssimazione_ ad esse nota come
libstdc++...:-) senza le libg++.
Alex

Newsgroup: it.comp.lang.c++
Titolo: Leggere clipboard

Salve a tutti , e possibile , e con quale comando,
leggere le clipboard di Windows.
Grazie a tutti
Ciao

leggere le clipboard di Windows.
GetClipboardData


ti 
ringrazio.se
 uso Mingw posso utilizzare questo comando?
Ciao

ti 
ringrazio.se
 uso Mingw posso utilizzare questo comando?
Immagino di si', anche se non conosco Mingw. Se esso puo'
richiamare le API standard di Windows non hai problemi.
Newsgroup: it.comp.lang.c++
Titolo: [CROSS POST Semi OT] Dev-C e asm

Scusate il post forse OT, ma mi chiedevo come posso fare per richiamare
istruzioni del codice macchina con il C usando come ambiente e compilatore
il DEV-CPP 4.0.
Ho provato con asm("mov ax,0") ma mi dice che ci sono troppi riferimenti a
"mov" (???).
Allora ho provato a usare la funzione int86(...) dopo aver dichiarato union
REGS r; ma mi dice "aggregate union REGS r has incomplete type" e perciň non
posso
assegnare nulla a r.
Insomma, ndň sbaglio?


Nada:
Parse error before '{'

"mov" (???).
__asm__ ("mov %ax, 0");
sintassi AT&T ;)
sbirish



č swappato anche l'ordine scusa =) non ha senso cosě =)
__asm__ ("mov 0, %ax ");
in at&t la source a sx e la destination a destra 
Uno sbirish troppo pirla.

 }
Questa è sintassi Turbo C se non sbaglio...cmq col GCC (lui ha il Dev,
quindi il MinGW) non è questa la sintassi corretta

 Insomma, ndò sbaglio?
 
Non si cross-posta, non ti conviene, ti ignorano...fai prima a spedire lo
stesso messaggio per ogni gruppo singolarmente. Cmq, secondo me sbagli ad
usare l'assembly inline (ovvero mischiato al C,tra l'altro qui siamo su
C++). Se proprio ne hai bisogno, scaricati NASM, creati un file,
assemblalo (puoi usare la sintassi IDEAL-like e puoi utilizzare
praticamente qualsiasi formato di output "famoso") e poi linkalo al tuo
file C. E'più elegante e hai meno possibilità di errori
Ciao

 Ciao
Ciao e grazie per il suggerimento.
P.S.: Grazie a tutti per l'aiuto!!!
Newsgroup: it.comp.lang.c++
Titolo: Macro "outp", perchè non funziona?

Salve a tutti, spero riusciate ad aiutarmi! Sto provando a compilatore un
sorgente esempio trovato sul web che mostra come programmare la porta
parallela per interfacciarla con il bus I2C. Quando provo a compilare il
compilatore mi dice che outp è una funzione non definita. Questo sia con il
compilatore della Borland che con DevC++. Nell' help del compilatore si
legge che outp è una macro contenuta in conio.h e quindi non riesco a capire
perchè continua a darmi errore. Il codice (la prima parte) è il seguente:
/* Test program for PC LPTx to I2C interface */
#include <conio.h>
#include <stdio.h>
/* I2C-porttimääritykset */
#define del        32000  /* Length of delay */
#define LPT1    0x378   /* Address of LPT1 */
/* I2C CLK high SELECT_LN# = 0 -> SCL = 1 */
void SCL(void) {outp(LPT1+2,0x08);}
/* I2C CLK low  SELECT_LN# = 1 -> SCL = 0*/
void _SCL(void) {outp(LPT1+2,0x00);}
.
.
.
.
Potreste darmi una mano?

 wrote in
message news:5DZS9.95582$TC5.3...@twister1.libero.it...

Prova con _outp (con l'underscore davanti) che e' contenuta in conio.h.
Non e' standard e con Windows penso che avrai problemi a comandare
direttamente la porta parallela.
Almeno da win95 in poi penso. Per fare quello che vuoi fare tu nei "moderni"
Windows, penso che dovresti scrivere un driver o usare artifici in modo da
mascherare interrupts, ma sul web troverai senz'altro documentazione
migliore dei miei consigli.
In questi casi consulta sempre l'MSDN in linea (estratto dall'MSDN):
"
_outp, _outpw, _outpd
Output a byte(_outp), a word(_outpw), or a double word (_outpd) at a port.
int _outp( unsigned short port, int databyte );
unsigned short _outpw( unsigned short port, unsigned short dataword );
unsigned long _outpd( unsigned short port, unsigned long dataword );
Routine       Required Header          Compatibility
_outp         <conio.h>                     Win 95
_outpw      <conio.h>                     Win 95
_outpd       <conio.h>                     Win 95
"
Quindi come vedi non sono funzioni standard.
Maurus

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:	it.comp.os.linux.development
Per C++Builder:	i gruppi borland.public.cppbuilder.*, disponibili sul
		server 
newsgroups.borland.com
 (prevalentemente in 
		inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: alias

ciao a tutti.
non ricordo la sintassi per crare ALIAS locali in C++.
cioč ho una variabile e voglio solo dichiarare UN ALTRO NOME per la stessa
variabile.
era una cosa del genere, no?
    Tipo UnaVariabile;
    Tipo &AltroNomePerLaVariabile = UnaVariabile;
(che poi č il significato del passaggio di parametri col modificatore &, se
non ricordo male...)
nello stroustroup seconda edizione, sapete dirmi dove si trova questa cosa
(se c'č?)
grazie,
    rony

(se c'č?)
+ che alias sono reference... purtroppo non ho la seconda edizione, ma
la terza... ma se la cerchi per alias non la trovi mai :)

 questa cosa (se c'č?)
Nella terza edizione č nel paragrafo 5.5 sotto il nome di
'Riferimenti'
Nella seconda non so, ma č pre-standard e forse ti conviene
comprare qualcosa di piů aggiornato.
--
Gerolamo

Newsgroup: it.comp.lang.c++
Titolo: passare un array ad una funzione

Ciao a tutti,
come posso passare come argomento ad una funzione un array bidimensionale?
Grazie,
Vale

come posso passare come argomento ad una funzione un array bidimensionale?
Vedi FAQ su 
www.programmazione.it
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: Richiesta Info

Salve a tutti,
Vorrei alcune info per cortesia.
Quanto costa e quanti cd compongono
1) "Borland C++ Builder 5.0 Enterprise Edition"
2) Visual Studio 6
Thanx
;-)
--
Luana

 wrote in message
news:Djpk8.21341$1S3.6...@twister1.libero.it...


Newsgroup: it.comp.lang.c++
Titolo: Istruzione di out 16bit?

Qualcuno sa se per caso c'+AOk- un istruzione in C+-+-
per inviare dati a 16bit sullo slot isa a 16bit,
tipo outportb(port+AF8-id,dato) che pero' sfrutta solo
la parte del bus a 8bit?
Grazie   Eric
+AF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8-
      - +AD0-  Eric Cenzon  +AD0- -
Via Mora 29, 36100 Vicenza - ITALY
eMail: theric+AEA-tin.it
http://space.tin.it/io/ecenzon
http://www.gest.unipd.it/+AH4-cenz03
+AF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8-

...

Newsgroup: it.comp.lang.c++
Titolo: aiuto dll

avrei bisogno di un esempio semplice funzionante sotto visual c++ 6.0 di un'
applicazione che utilizzi una dll, in particolare mi interessa la logica di
progettazione della dll, spero che qualcuno mi possa dare una mano.
cerco anche qualche link dove posso trovare documentazione in merito
grazie tante........................
n.b. non ho MSDN.

 wrote in message
7li2d5$om8$1...@fe1.cs.interbusiness.it...


n.b. non ho MSDN.
Allora compralo Visual C++, la prossima volta. Come fai a non avere MSDN e
avere VC++ 6.0? Tra l'altro e' una genialata...VC++ senza documentazione e'
pressoche' inutile :-))
Comunque, sul Web: 
http://msdn.microsoft.com
Davide Marcato.
----------------------------------------------------
| -- Freelance International Consultant
| -- Win32/MFC/COM Development & Training
| -- Technical Writer & Speaker
----------------------------------------------------
| -- Email: 
mar...@programmers.net
| -- Web: 
http://www.DavideMarcato.com
----------------------------------------------------

 wrote in message
37903efb...@news.flashnet.it...


Giuseppe Ottaviano
1) Anch'io ho comprato il pacchetto Visual Studio 6.0 Professional Edition
con la licenza studente e in esso erano regolarmente presenti i CD dell'MSDN
Library (la gente compra il VC perchč sa di trovare l'MSDN, altrimenti
comprerebbero tutti dalla Borland).
2) E' verissimo che senza MSDN il VC č praticamente inutile e non ti lascio
dire che si trova di piů sulla rete che sull'MSDN: ma poi, se tu non l'hai
l'MSDN, come fai a fare un paragone?
3) Le cose sono due: o ti hanno truffato in maniera spudorata o stai
cercando di prenderci per i fondelli per motivi che solo tu conosci....
Giuseppe

 cercando di prenderci per i fondelli per motivi che solo tu conosci....
Grazie per la fiducia in entrambi i casi.

Grazie per la fiducia in entrambi i casi.
Scusami per la crudezza con cui ti ho apostrofato, non credevo che nelle
precedenti versioni della licenza studente non distribuissero l'MSDN.......
Ciao, Giuseppe
Newsgroup: it.comp.lang.c++
Titolo: Data driven

Immaginiamo di avere tre variabili: V1, V2, V3,
più una quarta, che chiameremo Formula, che contiene la stringa: "V1 = V2 +
V3"
E' possibile in qualche modo in C++ fare "eseguire" la stringa, senza
dovere scrivere un parser?
Corrado Cavallini


No se e' contenuto in una stringa, ma il C++ permette di avere puntetori
a funzioni. x. ess:
---
#include <assert.h>
#include <stdlib.h>
typedef void (*Oper)(void);
static int v1;
static int v2;
static int v3;
void funz1(void) { v1 = v2 + v3; }
int main(int argc, char** argv, char** env)
{
	Oper v4;
	int v1(1);
	int v2(2);
	v4 = &funz1; // qui' si fa che v4 punti a funz1
	(*v4)(); // qui s'invoca funz1 tramite derreferenza di v4
	assert(v3 == int(3));
	exit(EXIT_SUCCESS);		
}
-----EOF
in PERL lo si puo' fare usando l'operatore eval.
--- BOF
$v1 = 1;
$v2 = 2;
$v4 = "v3 = v1 + v2";
eval $v4;
(v3 == 3) || die;
print "OK";
---- EOF
-- 
LEGAL NOTICE:
THE ABOVE INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES
WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL,
LOSS OF BUSINESS PROFITS, OR SPECIAL DAMAGES, EVEN IF THE AUTHOR
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE AUTHOR
DOES NOT AUTHORIZE TO APPLY THE ABOVE INFORMATION IN STATES WHERE
THIS DISCLAIMER IS NOT APPLICABLE.
I'm known for been wrong in the past... I may be wrong again.
---
Luis E. Garcia Ontanon
mailto:
L...@Beer.com
http://www.concentric.net/~lontanon
Newsgroup: it.comp.lang.c++
Titolo: Come entrare in C++?

Salve a tutti, 
Ho scaricato la versione gratuita del Borland C++ 5.5. 
Ho creato i fil bcc32.cfg e ilink.cfg. 
Ma ora mi trovo davanti ad una imbarazzante difficoltà. Come entro
dentro al C++. Ho richiamato tutti i file ma non riesco entrare
nell'ambiente di programmazione. 
Vi sarei dato se potreste darmi questa "illuminante" indicazione. 
Grazie
Buon 2004
Michele


Con un miracolo visto che non c'è :))
ciao :)
--
------------------------
http://visualwx.altervista.org/
nuova release 0.77f [freeware]
VisualWx rad per c++,python,perl,lua e wxwindows

ciao :)
Perdona la mia ignoranza abissale ma cosa non c'è e cosa dovrei fare
per avere quello che manca?

miki...@yahoo.it
 wrote:

Non uso quel prodotto ma suppongo che volesse dire che l'ide non è 
presente, hai scaricato solo il compilatore.
Devi scrivere il tuo programma con un editor di testo qualsiasi e poi 
lanciare qualche comando tipo:
bcc mioprog.cpp
per ottenere l'eseguibile.
Ma sto improvvisando, non uso il borland, e forse il nome del 
compilatore potebbe essere diverso.
j0k3r

 dentro al C++. Ho richiamato tutti i file ma non riesco entrare
Non puoi "entrare" dentro al C++.
C++ è un linguaggio di programmazione non una camera !
Tu hai ottenuto un compilatore e un linker, un programma (in realtà due) che
codifica uno o più file detti sorgente in codice dirattamente eseguibile dal
sistema operativo e dal microprocessore di cui è dototato il tuo computer.
Da quello che posso capire nella tua e-mail, forse ti aspettavi di trovare
una IDE (tipo i vecchi Borland Turbo Pascal, Turbo C oppure Visual Studio /
Borland C++ Compiler o Dev-C++) dotata di un compilatore, di un editore di
testi e di un debugger integrati nello stesso pacchetto.
Purtroppo il compilatore che hai scaricato non ha una IDE (nella versione
free, Borland ti concede solo il compiler ed il linker da linea di comando).
Borland stessa ti permette di scaricarti (ma a titolo di prova per un tempo
definito) il Borland C++ Builder, che invece è dotato di una IDE. Lanciando
questo ambiente ti si apre l'editor, puoi creare progetti e renderli
eseguibili dopo la compilazione.
Nel tuo caso puoi editare i file sorgenti con un editore di testi (es.
prova.cpp), e compilarli da riga di comando (bcc32 prova.cpp).
Se vuoi qualcosa che sia più vicino alle tue necessità e non vuoi spendere
soldi ti consiglio di scaricarti l'ottimo Dev-C++
http://www.bloodshed.net/dev/devcpp.html
 ti consiglio la versione 5 (anche
se è beta va abbastanza bene)
così potrai "entrare" dentro al C++... cerca di "saltarci fuori" !!

Perfetto tutto chiaro. :-)
Ero rimasto indietro con i tempi. :-)
Grazie ancora e buon lavoro
Michele

 Ero rimasto indietro con i tempi. :-)
Si, agli anni '80... Magari il GW-Basic... ;-PPP 
-- 
Luc
Newsgroup: it.comp.lang.c++
Titolo: MDB DBF

Salve a tutti, per favore qualcuno può spiegarmi come "attaccare" un MDB in
Builder?
Fino ad ora  abbiamo fatto uso di DBF.
Grazie mille in anticipo
Giovann@

>Salve a tutti, per favore qualcuno può spiegarmi come "attaccare" un MDB in
Builder?
Devi usare un componente TDatabase e impostare la property DatabaseName al
nome della file .mdb.
Tutte le tabelle e le query devono avere, al posto di DatabaseName il nome
che hai dato.
Ricordati di impostare LoginPrompt a false (nel TDatabase) per evitare la
finestra di login che chiede nome e password dell'utente.
Ciao.
--
Stefano Tempesta
PC Service Software
http://www.tempesta.cc.st
temp...@tin.it

Newsgroup: it.comp.lang.c++
Titolo: Chiarimenti su funzionamento find della libreria algorithm

Ciao a tutti, ho questo programmino
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
class punto
{
  public:
  int x,y,z;
  punto(int val){x=val; y=val+1; z=val+2;}
};
main()
{
  vector <punto> pList;
  punto p1(4),p2(15),p3(26),temp(0);
  pList.push_back(p1);
  pList.push_back(p2);
  pList.push_back(p3);
  vector <punto> :: iterator i=pList.begin();
  for(;i!=pList.end();i++)
  {
    temp=*i;
    cout<<temp.x<<endl;
  }
 i=find(pList.begin(),pList.end(),26);
}
con il quale vorrei cercare l'oggetto che il valore di x=26. Sò che
nell'ultima riga ho scritto una boiata ma non sò veramente come fare.
Qualcuno può aiutarmi ?

 
 struct punto_x_is
 {      int xv;
        punto_x_is(int v) : xv(v) { }
        bool operator()( const punto& v ) const { return v.x == xv; }
 };
 i = find_if(pList.begin(),pList.end(), punto_x_is(5) ));
oppure...
 struct punto_x_equal: std::binary_function<punto,int,bool>
 {
        bool operator()( const punto& v, int x ) const { return v.x == x; }
 };
 i = find_if(pList.begin(),pList.end(), std::bind2nd( punto_x_equal(), 5 ));
(Devi #includere <functional>. Cerca sul tuo manuale 'bind2nd' e 'find_if'.)
Se 'punto' avesse una funzione membro, diciamo 'get_x', che restituisce il 
vaore 'x' e disponessimo di 'compose1', che non è standard ma è disponibile 
con il GCC, potremmo scrivere:
   i= find_if(  pList.begin(), pList.end(), 
                 compose1(  
                      bind2nd( equal_to<int>(), 5 ),  
                      mem_fun_ref( &punto::get_x ) 
                  ) 
     );
 
Max
Newsgroup: it.comp.lang.c++
Titolo: domanda ingenua

Salve a tutti,
scusate se la domanda che vi porrò vi risulterà troppo ingenua ma
sinceramente non so a chi potrei porla se non a voi.
E' da tempo che desidero apprendere, per passione, un linguaggio di
programmazione per vivere il computer in maniera meno passiva.
Ho pensato a C++ e dopo aver navigato un pò in rete ho raggiunto la
conclusione che prima sarebbe stato più ragionevole partire da C.
A questo punto sono andato su 
http://www.hyperbook.it/c_book/C0100.htm
 per
incominciare a farmi una infarinatura ma,volendo provare a fare il primo
esercizio, non ho saputo proprio dove digitare quelle "tre casettine con i
tetti aguzzi!". A mia disposizione ho un pc con Linux Mandrake 8.2 che in
fase di installazione ho configurato scegliendo anche il pacchetto di
sviluppo con i linguaggi C e C++. Sono entrato in KDE ma non ho trovato
niente che mi ricordasse, seppur vagamente, una C. In alternativa ho anche
un iMac con Mac OsX (che preferirei alla grande). Spero di avere da parte
vostra l'aiuto per poter almeno cominciare dopo, se va tutto bene, spero di
porvi domande più serie.
Vi ringrazio in anticipo.
Mulligan.

 ha scritto nel messaggio
news:0F69a.6041$zo2.1...@news2.tin.it...



Funziona! Grazie mille.
Ad ogni modo in un primo momento l'ho provato come utente e mi aveva detto
che non avevo i permessi.
Mi sono loggato come root ed č andato tutto ok. Spero che come root non
combini qualche guaio.
Grazie di nuovo.
Mulligan

Se vuoi utilizzare al posto d'un editor di testi un ambiente di sviluppo
abbastanza comodo sotto KDE, prova ad usare KDevelop. Oppure se sei un
temerario cimentati con VI ed EMACS :-D
Tra l'altro KDevelop dovrebbe essere installato di default su KDE


No sapevo di essere un temerario! Ho usato da subito VI non sapendo di avere
alternative.
Cmq grazie.
Mulligan

Ciao, se non mi sbaglio in Mac OsX c'è un compilatore C/C++, che è 
praticamente (circa) gcc, si usa allo stesso modo da terminal. Quindi se 
preferisci il bel sistema operativo non dovresti avere problema. Se non 
ricordo male dal sito apple puoi scaricare anche un ambiente di sviluppo 
aggratis.
Ciao
Matteo


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

I can't draw in my c++ v5.02, and always gives me (graphics is not supported
with your window!).What does that mean if the graphics.h does exit in the
c++ package?
Regards
--
-----------------------------------------------------
Click here for Free Video!!
http://www.gohip.com/freevideo/

Hi,
You may not be aware that you posted your message on the italian C++
newsgroup (the "it" in the group's name stands for "Italy").
You may have better luck with one of the following:
comp.lang.c++
comp.lang.c++.moderated
Given the topic of your question, I suggest that you also check out
Borland's newsgroups on server 
forums.inprise.com
Best regards,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: templates cannot be declared to have 'C' linkage

ciao a tutti
ho scritto 1 interfaccia in C++ ad una libreria C.
I metodi di questa interfaccia non fanno altro che chiamare
alcune funzioni della libreria originale.
Tutto funziona correttamente se compilo con gcc, sia su win ke su linux,
ma quando provo a compilare con Visual C++ 6 mi da il seguente errore:
"templates cannot be declared to have 'C' linkage",ke vuol dire?boh...
e mi fa vedere che nel file math.h(che ovviamente non ho scritto io, ma 
fa parte di vc6) la funzione "Pow_x_non_ricordo" è dichiarata come template.
con gcc compila, ma *deve* funzionare anche su VC6...
gcc mi da un file .a, posso usarlo come file .lib di VC6?
a me basterebbe in fondo basterebbe usare in VC6 la versione compilata 
con gcc
Cosa posso fare?
grazie in anticipo per avermi sopportato
ciao

Il tuo file ha estensione .c? Se si prova a rinominarlo cpp. Inoltre
guarda nelle opzioni di compilazione

Newsgroup: it.comp.lang.c++
Titolo: Lettura da file

Salve,
qualcuno mi sapreebbe dire come si può leggere da un file soltanto la parte
che interessa, con la libreria fstream stdio.
Grazie.


Qual'è la parte che ti interessa?
-- 
Andrea Bergia - studente
Linux Registred User #281550

 che interessa, con la libreria fstream stdio.
potresti utilizzare un istream_iterator, da posizionare dove vuoi
--
Ciao.
Maurizio
P.S.: eliminare _!NO$PAM! per rispodere in privato
Newsgroup: it.comp.lang.c++
Titolo: Una domanda semplice

Salve questa è la prima volta che scrivo su questo newsgroup e considerando
che proprio in questi giorni sto preparando l'esame di Fondamenti di
Informatica II ho qualche domanda da fare :-)
Non ho ben capito la differenza tra STRUCT, CLASS, TYPEDEF, quando usare
l'una o l'altra ....
Per ora Vi ringrazio...
-----------------------------------------------
Andrea Sistarelli - Terni - Italy
Tel: 0347-4697075
ICQ: 11598516
http://www.aspide.it/freeweb/Sista
http://wwp.mirabilis.com/11598516

l'una o l'altra ....
La differenza fra struct e class (rigorosamente in minuscolo: C++
é un linguaggio "case-sensitive", e le sue keyword minuscole!!!) é
minima: riguarda il _default_ dell'accessibilitá dei membri, che é
public per le struct, private per le class.  A parte questo sono due
keyword rigorosamente, assolutamente identiche.  Chi, come é
buona prassi, inizia sempre le proprie classi (o structures) con una
keyword "private:" (o "public:" o "protected:") non vedrá differenze,
perché non usa il default.
Quando usare l'una o l'altra é rigorosamente "a tuo gusto", visto
che la differenza é cosí squisitamente "stilistica"!-)
typedef é un concetto completamente e assolutamente distinto,
che serve solo a dare un "sinonimo" (un nome alternativo, in
aggiunta a quello primario) ad un tipo che ha giá altro "nome",
e questo tipo puó essere una class o struct, ma anche qualcosa
completamente diverso.  typedef é particolarmente utile per
mettere insieme "poco a poco" un tipo complicato, ad esempio
invece di:
    double* (*pippo[3])(double, double*)';
che solo veri esperti di C possono capire, si usa:
    typedef double* (*ptr_mia_funz)(double, double*);
    ptr_mia_funz pippo[3];
prima dando con typedef un sinonimo ptr_mia_funz allo
specifico puntatore-a-funzione in gioco, poi dichiarando
in modo assai piú chiaro un array pippo[] di 3 di codesti
puntatori.  Come vedi, con class e struct c'entra poco assai!!!
Alex

Ti ringrazio, se non ti dispiace vorrei farti un'altra domanda:
In Visual Basic 4 si potevano inserire un'infinità di oggetti in un form e
per ogni oggetto scrivere il codice, etc. la stessa cosa si può fare in
Visual C++ ??
Grazie
Newsgroup: it.comp.lang.c++
Titolo: compilatore C

esiste un buon compilatore in C freeware?
ho gia' il Borland C++ Builder, ma e' troppo complesso da usare...
non c'e' qualcosa di piu' semplice?
Axel

...

Newsgroup: it.comp.lang.c++
Titolo: Help cercasi libro per conoscere c++

Vorrei iniziare ad addentrarmi nel mondo della programmazione c++, premetto
che non so programmare, e vorrei un libro in italiano per poterlo fare.
Aiutatemi ho sentito verie librerie ma o non hanno niente o sono in inglese.
Grazie
urb...@tin.it

 wrote in message
7jbf1p$sla$1...@nslave1.tin.it...


 che non so programmare, e vorrei un libro in italiano per poterlo fare.
Secondo me, attualmente, in italiano non c'č niente di valido.
EMG
Newsgroup: it.comp.lang.c++
Titolo: alt!!

salve, come posso fare a leggere i risultati che mi restituisce un programma
se la finestra dos scompare???
per es. se faccio uno stupido programma di somma di due numeri:
insersci x
inserisci y
la somma x+y appare per un secondo (forse meno) e la finestra di esecuzione
scompare, che fare??? mi hanno detto di utilizzare getchar ma non funziona
forse non utilizzo la giusta sintassi, aiutatemi....
GRAZIE, l'ignorante

...

"Tutti noi siamo ignoranti in qualcosa e maestri in qualcos'altro"
Dopo questa perla di saggezza, sappi che la soluzione è molto semplice.
La funzione getchar() è dichiarata in <stdio.h> e la sintassi, se non vuoi
conservare il carattere che legge, è semplicemente "getchar();" che non fa
altro che attendere che tu prema un tasto...
Se poi vuoi utilizzare il carattere devi fare:
int c;
c = getchar();
Ciao!

 altro che attendere che tu prema un tasto...
mah, personalmente io uso getch() ma penso che sia più o meno lo stesso
piuttosto, io ho visto certi programmini per win32 la cui finestra non si
chiude automaticamente (come invece succede coi miei)
penso che esista un modo per "convincere" win95 a lasciare aperta la
finestra, solo che non ho la più pallida idea di quale sia, e soprattutto
TEMO che sia una soluzione che fa uso dell'assembly, che mio malgrado non
conosco
se qualcuno sapesse qualcosa... :-)
TobiX
P.S. non è che sapete il titolo di un libro che insegni DA ZERO l'assembly,
a uno che sa già programmare (Pascal, C e C++)
Newsgroup: it.comp.lang.c++
Titolo: string e getline()

Perdonate l'ignoranza,
sto cercando di leggere una riga dallo stdin con getline()
ed utilizzando una stringa (std::string), ma getline funziona solo con char*
e non accetta neanche const char*,
come devo fare?
Grazie
Alessandro.

 come devo fare?
std::string buffer;
...
std::getline(std::cin, buffer, '\n');
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 e non accetta neanche const char*,
Vorrei vedere, visto che deve modificare i caratteri nel buffer --
che ci farebbe con un puntatori a caratteri CONST?!
Alex

Grazie,
molto gentili.
Alessandro.

Newsgroup: it.comp.lang.c++
Titolo: schede audio

cari appassionati di c++,stņ cercando qualcuno che mi aiuti a programmare le
schede audio ,o che mi suggerisca qualche fonte interessante: cio e fatevi
sentire
emiliano baldo
Indirizzo/i di posta elettronica:
 
rmd...@tin.it

Sotto quale ambiente? Dos? Windows? Linux? Unix? Non che
abbia la risposta per tutti questi ambienti, forse per Dos e
Windows riesco a darti qualche suggerimento.
* Sent from AltaVista 
http://www.altavista.com
 Where you can also find related Web Pages, Images, Audios, Videos, News, and Shopping.  Smart is Beautiful
Newsgroup: it.comp.lang.c++
Titolo: VC++ e funzioni Time

Ho bisogno di utilizzare le funzioni per la gestione del tempo in VC++,
e ho notato che esistono molti modi per farlo. 
Ad esempio ho provato il tipo CTime, ma non funziona.
Oppure mi viene detto di importare da time.h, che offre compatibilità
ANSI e Win95... 
Io dovrei semplicemente recuperare la data e l'ora di sistema, e fare
semplici operazioni su di esse. Qual è il formato più comodo, anche
quello che offre meno problemi di gestione e visualizzazione in
un'applicazione Win32 ?

un'applicazione Win32 ?
Sicuramente quello standard ANSI e` abbastanza comodo, e di
problemi ne offre pochi:
#include <time.h>
// ...
   time_t ltime;
   time( &ltime );
// adesso in ltime hai il tempo di sistema (numero di secondi a
// partire dal 1 gennaio 1970); buono per manipolazioni del tipo
// "che ora/data era 3 giorni fa" (togli 3*24*3600 secondi), ecc
    struct tm* dettagli = localtime(&ltime);
// adesso in dettagli hai una struttura che analizza con precisione
// il tempo contenuto in ltime: dettagli->tm_hour e` l'ora,
// dettagli->tm_min il minuto, e cosi` via; buono per operazioni
// a questo livello
// poi con ctime(&ltime), o asctime(dettagli), puoi ottenere
// una stringa ASCII da visualizzare come vuoi.
CTime/CTimeSpan offrono funzionalita` analoghe, solo un
pochetto meglio incapsulate.
Alex

un'applicazione Win32 ?
oltre ai sistemi che ti ha suggerito Alex che sono standard ANSI in
win32 ci sono delle ottime API per la gestione dell'ora:
GetLocalTime(): Restituisce data e ora in una struttura SYSTEMTIME
GetDateFormat(): Formatta la data in una stringa
GetTimeFormat(): Formatta l'ora in una stringa
Rispetto alle funzioni standard C GetTimeFormat() e GetDateFormat()
utilizzano le impostazioni di windows in materia di locale e sono piu'
flessibili, puoi avere la data in formato lungo, in formato corto, con
i nomi dei mesi (nella lingua giusta !) ecc.
Gianpaolo Bottin
- Live Long and Prosper -

// "che ora/data era 3 giorni fa" (togli 3*24*3600 secondi), ecc
ad essere proprio pignoli mancherebbe una setlocale(), qualcosa del
tipo:
TCHAR buf[256];
GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SABBREVLANGNAME,buf,sizeof(buf)/sizeof(buf[0]));
_tsetlocale(LC_TIME,buf);

Newsgroup: it.comp.lang.c++
Titolo: Puntatore a funzione, che tragedia

Salve a tutti,
ho la necessita' di passare come parametro di una funzione membro di una
classe A, il puntatore ad una funzione membro di una classe B, naturalmente
la classe A e la sua funzione membro non conoscono la classe B, perche'
potrebbe di volta in volta essere una classe diversa, ovvero una volta B,
una volta C,...
C'e' qualche possibilita' di riuscita secondo voi?
Per il momento mi sono dovuto accontentare di passare come parametro della
funzione membro della classe A, un puntatore a funzione, di una funzione
(scusate il gioco di parole) che non e' membro di nessuna classe.
Ogni aiuto o suggerimento sara' apprezzato.
ciao, Franco.
Franco Torrini - Software Engineer - 
f.to...@virtuart.it
VIRTUART - C.C.D. Creative Computer Design S.p.A.
Via di Quarto Annunziata, 80/b - 00189 Rome, Italy
Tel. 
+39 06 33076638
 - Fax. 
+39 06 33076670

C'e' qualche possibilita' di riuscita secondo voi?
Se puoi fare tu tutto il progetto si`, bisognera` semplicemente
che B, C, eccetera, abbiano tutte una classe base in comune --
e passerai allora un puntatore a quella classe base e se occorre
anche uno ad uno dei membri (astratti) di quella classe base.
Ad esempio, supponendo che tutte le funzioni in gioco prendano
un int e tornino un int, potremmo avere:
class i2i {
public:
    virtual int call(int i) = 0;
};
e poi:
class A {
    i2i* pt;
public:
    A(i2i* pt): pt(pt) {}
    int chiama2(int i) {
        return pt.call(pt.call(i));
    }
};
class B: publib i2i /* + eventuali altre basi */ {
public:
    int call(int i);    // va implementata
};
class C: publib i2i /* + eventuali altre basi */ {
public:
    int call(int i);    // va implementata
};
eccetera.
Se la base i2i deve avere molteplici funzioni,
chiamate ad esempio chiam1, chiam2, call3,
eccetera, allora A dovra prendere due cose:
un puntatore ad i2i, e un puntatore a funzione
membro di i2i che prende e torna int:
typedef int (i2i::* pun_t)(int);
cioe` un oggetto della classe pun_t cosi`
definita.
Come ultima alternativa (non portabile!) ci
sono le estensioni del Borland C++ Builder,
o lo stesso effetto ottenibile con piccoli thunk
in assembler per altri compilatori, per far si`
che una coppia oggetto+ptr a sua funzione
membro si trasformi in "puntatore a funzione".
Giustificabile solo se il "ptr a funzione" stesso
dev'essere passato a librerie preesistenti e
non modificabili (caso tipico le varie callback
delle API di Windows).
Alex

Newsgroup: it.comp.lang.c++
Titolo: CIAO A TUTTI !!!

>Visita il mio sito erotico :
Ma visitati qualcos'altro !
""""""""""""""""""""""""""""""""""""""""""""""
 -----------Federico Emanuele Galli----------
 ----------Visual Basic's Programmer---------
 
 Sideralis Programs (Visual-Basic and Delphi)
 
http://www.geocities.com/colosseum/loge/2151
""""""""""""""""""""""""""""""""""""""""""""""
                 Trust no ONE.


http://www.angelfire.com/la/pamela69696969
Newsgroup: it.comp.lang.c++
Titolo: problem with MFC methods

The method GetFilePath return a CString objetc. The return value is good, I
have verify it with the cout instruction.
But I need a char * value then I'am trying to use the GetBufferSetLength()
who's return actually a LPTSRTR value. And a this moment I have some
problem: I loose the value return bye GetFilePath ?
finder.GetFilePath().GetBufferSetLength()
Some one can help me please.
Thanks very much.

 wrote in message
news:7p6thh$bnk$1...@wanadoo.fr...


Newsgroup: it.comp.lang.c++
Titolo: Avrei bisogno di consigli

Avrei bisogno di consigli riguardo testi e manuali di c++; e poi volevo
sapere dove potevo scaricarmi un compilatorre c++ e magari un manuale.
grazie per l'aiuto
ciao
emiliano

...

DJGPP per DOS, compilatore gratuito:
www.delorie.com
Esiste in linea l'ottimo "Thinking in C++" di Bruce Eckel
www.eckelobjects.com

Newsgroup: it.comp.lang.c++
Titolo: Hashing functions

buondģ
premetto che questa č la prima volta che posto in questi newsgroup. 
Dovendo fare una relazione, avrei la necessitą di reperire del materiale 
in c/c++ riguardo alle tabelle hash, in particolare focalizzato ai 
metodi dell'hash doppio, con overflow area e a catene separate. ho fatto 
una breve ricerca sulla rete trovando qualcosa, ma forse qualcuno di voi 
conosce qualche sito che non sono riuscito a scovare :)



, 
corn...@SPAMusa.net says...

mi scuso per il doppio messaggio