mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Errore...strano!!!Aiuto!

Salve ragazzi, è la prima volta che posto in questo ng essendo un neofita
nel mondo della programmazione in C... La mia domanda è questa: se io
dichiaro un puntatore con un modificatore di tipo FAR e inizializzo il
puntatore contestualmente alla sua dichiarazione, cioè scrivo
CHAR FAR *PUNTATORE=0xB8000000;
tutto funziona bene, ma con questo tipo di puntatore posso avere solo uno
scostamento di 64Kb dall'indirizzo lineare B8000 giusto? Allora provo a
dichiarare e inizializzare un puntatore Huge, scrivendo la stessa zolfa...
CHAR HUGE *PUNTATORE=0xB8000000;
Ma questa volta il compilatore mi da l'errore "NO PORTABLE POINTER
CONVERSION IN FUNCTION..."
Ho letto su un libro che si può fare, perché invece mi da questo errore? E'
forse perché il puntatore huge deve essere inizializzato con un indirizzo di
tipo lineare e non SEGMENT:OFFSET? Inoltre se lo inizializzo con valori da
0000 a ffff, funziona, ma solo per la parte dell'offset  come con con un
puntatore FAR. Per risolvere il problema allora ho dichiarato entrambi i
puntatori, ho inizializzato il far e poi ho assegnato all'huge il valore del
far. Così funziona, e ad ogni incremento oltre F dell'offset il riporto
avviene correttamente sulla parte segmento.Ma questa mi sembra una soluzione
parecchio artigianale! Grazie a tutti, ciao!

parecchio artigianale! Grazie a tutti, ciao!
Va bene accedere direttamente alla scheda video per scrivere le
proprie funzioni di scrittura a video in modalita' testo, ma sistemi
operativi tipo Windows, Unix/Linux si potrebbero "offendere di questo
fatto". Ma se stai programmando in DOS a 16-bit... be' tutto e'
permesso. :)
Ciao


Scusa per l'OT, e grazie allora per l'indicazione del Ng Giusto e per la
risposta, ciao!

Newsgroup: it.comp.lang.c++
Titolo: Sempre C++Builder

Questo invece è un piccolo problema di ereditarietà...
Dunque... Ho il mio bel TCustomEdit... Ne eredito un TMioEdit... Purtroppo
il TCustomEdit
ha fra i Published l'Hint... Io voglio farlo sparire (possibilmente insieme
a ShowHint e a ParentShowHint)... Si può?
Bye
Max


No, le proprietà dichiarate published nella classe base restano published.
Newsgroup: it.comp.lang.c++
Titolo: [OT] Educazione...

Un breve OT, per ricordare che (anche se sembra che ci sia solo una persona
che necessita di leggere questo messagggio) che non si dovrebbe insultare
gli altri. Se manca le argomentazioni si taccia. Se invece ci sono, le si
tirino fuori al posto delle offese.
Credo sia peggio dare dell'idiota e dell'imbecille a qualcuno che dire una
sciocchezza in C++ (facendo finta che lo sia).
In pratica, caro Laforgia che fingi di non leggere i miei messaggi, ti
esorto a contenerti. Se non ci riesci a me non interessa di cio' che pensi
di me, solo non capisco come mai in questo NG tutti fanno subito notare gli
OT e nessuno fa mai notare la tua maleducazione!
Tommy

 gli altri.
Andrea LaForge, quando non in grado di ribattere, insulta. Ignoratelo.
-- 
Luc.

> non si dovrebbe insultare gli altri.
questa è la cosa fondamentale.
termini come "imbecillotto" e "idiota" sono considerati insulti, per la
cronaca...
un conto è mettere a disposizione la propria cultura, un conto è rilasciare
la propria maleducazione: la prima è cosa gradita, ma non obbligatoria, la
seconda non è nè gradita, nè tollerabile.
Tommy, tu però ti scaldi troppo, non ti fare toccare dalla maleducazione
altrui.....
Ciao, Marta

...

Non posso darti torto. Non c'e' niente di male ad infervorarsi
nell'esprimere le proprie opinioni, ma bisogna imparare a trattenersi
dall'insultare il prossimo, a maggior ragione quando si e' "riparati"
dietro lo scudo psicologico dell'email e quindi con i freni inibitori
piu' lenti di quando ci si confronta di persona.
Ciao,
Nicola

 
Non posso che confermare.
Il suddetto e' finito nel mio kill-file da parecchi mesi, e mi ha 
persino mandato piu' volte e-mail zeppe di insulti (prima di finirci).
Quanto puo' cadere in basso il genere umano...
-- 
Roal Zanazzi
Newsgroup: it.comp.lang.c++
Titolo: Definizione di variabili in qualsiasi punto..

Come mai se col VC++ 6 definisco una variabile in un ciclo (for (int
i=0;.....), e pio in un for successivo la ridefinisco, il compilatore mi
averte che non lo posso fare, facendomi in pratica solo usare la var nel
secondo ciclo (per cui quella precedente è ancora visibile...), mentre col
DJGPP nel secondo ciclo la devo per forza ridefinire, dato dopo il ciclo non
è più visibile? Il DJGPP è maggiormente compatibile con lo standard, vero?
Il compilatore mi dice infatti che lo scope per le variabili definite in un
for è combiato con l'ANSI...
--
Marco Iannaccone
marc...@tin.it
Nick: Tolkien
ICQ UIN: 18748121
"This is a new ship, boy, but she's got the right name...
You treat her like a lady, and she'll always bring you home"
"Questa è una nave moderna, ma ha un nome antico e glorioso...
Trattala come una signora e ti riporterà sempre a casa"
FAQ di it.comp.lang.c:
http://www.programmazione.it/linguaggi/c/itcomplangc.htm

 for č combiato con l'ANSI...
Esatto.  VC++, almeno sino a questo punto, ha preferito
non spezzare la compatibilita` col passato (rendendo
invalidi programmi un tempo corretti) piuttosto che non
seguire lo standard su questo punto.  Speriamo...!-)
Alex

 for č combiato con l'ANSI...
Si tratta di una delle piu' gravi mancanze del vc++ 6.0. Un'altra e'
l'incapacita' del
debugger di trattare nomi di 256 caratteri, che sono quasi sempre presenti se
si usa la STL o i vector<> della standard library.

 secondo ciclo (per cui quella precedente è ancora visibile...),
Perché in questo aspetto non è standard compliant.
EMG

averte che non lo posso fare,
Piccola (?) divergenza dallo standard...
Poco tempo fa mi fu suggerita la seguente scappatoia
#define for if(0); else for
Ma tanto vale cercare un identificatore diverso...
Paolo
Newsgroup: it.comp.lang.c++
Titolo: delete e new

in un metodo che chiamo creaArticolo() alloco dentro un array di puntatori 
ad oggetti,di tipo articolo, precedentemente dichiarato con: Articolo 
*pArticolo[MAX_ART], usando new come segue:
pArticolo[i] = new Articolo(in, icu, ivu, iqm);
il problema nasce quando devo deallocare un elemento.
delete pArticolo[i];
nel rileggere l'array mi ritrovo dei caratteri sporchi in quella posizione 
precedentemente deallocata.
Ho la necessità di evetitare tutto questo. Esempio.
il primo elemento dell'arrai contiene un articolo co i suoi dati 
(nome,quantita, costo, etc etc )
e cosi anche il secondo ed il terzo e così via. se elimino il secondo devo 
vedere solamente il primo ed il terzo attualmente quando leggo l'arrai mi 
spunta qualcosa del genere:
1, penna, 0.10, 0.5,
2,          ,        ,      ,
3,matita, 0.20, 0,5,
dove 1,2 e 3 sono gli indici dell'array.
come posso risolvere il problema?

Una volta chiamata delete assegni 0 alla corrispondente posizione
dell'array e quando lo scorri controlli che il puntatore non sia nullo.
Ciao,
Nicola

Ho la necessità di evetitare tutto questo. Esempio.
delete pArticolo[i];
pArticolo[i] = NULL; 

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

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

La risposta e' implicita nella domanda :-)
Ciao,
Nicola

 ha scritto nel messaggio 
news:1108461457.4...@g14g2000cwa.googlegroups.com...


 mi genera un errore tentando di leggere comunque l'array?
Evidentemente perche' non lo inizializzi implicitamente. In realta'
dipende da dove e' definito, se e' globale e' azzerato automaticamente.
In ogni caso scrivendo
Articolo *pArticolo[MAX_ART] = { 0 };
Dovresti ottenere l'inizializzazione che ti serve.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Un oggetto puo' modificare se stesso?

metodo..e' normale?
Non e´ normale se lo fai con lo stesso oggetto, se invece richiami lo stesso
metodo per un altro oggetto e´normale, visto che non e´ un dato statico.
Mauro

Come da subject..un metodo di un oggetto puo' modificare un attributo dell'
oggeto stesso ? Io credevo di si, senza alcun dubbio..ma dall'andamento del
programma che sto scrivendo sembra di no!
Ho una semplice classe di questo tipo
class myclass
{ public:
    [..]
    int campo1;
    void metodo();
}
Se nell' implementazione del metodo do un valore al campo1, quando richiamo
lo stesso metodo il campo1 e' tornato al valore inziale..come se la modifica
non sia persistente e vnisse annullata una volta usciti dallo scope del
metodo..e' normale?
--
Visita la mia pagina personale:
 
http://members.xoom.it/Ake
*** grafica - ingegneria - midi - humour ***
****  abandonware - emulatori - MUD ****
 ***             DragonBall / Z                ****
Il Covo di Ake ora e' anche senza fili,
visitalo con il tuo cellulare WAP a:
 
tagtag.com/ake
Newsgroup: it.comp.lang.c++
Titolo: Is this a bug in Visual C++ 5.0 / MS-WORD 97 or is it just me ?!

   The RTF file C:\David\Help\hlp\.\afxcore.rtf is corrupted at offset
353.
Anybody who can offer me some help with this problem can contact me
at 
David_St...@NOSPAM.Hotmail.com
. (When replying just leave 
the "NOSPAM." out of the address, ... I guess you all know why)
Cya !
David.

353.
this is really a faq :)
Microsoft Knowledge Base 
WD97 Error Compiling Word 97 RTF in Help Compiler, Help WorkShop 
Last reviewed: July 31, 1997 
Article ID: Q164012  
The information in this article applies to: 
Microsoft Word 97 for Windows 
SYMPTOMS
When you attempt to compile a Word 97 Rich Text Format (RTF) file in
the Help Compiler that ships with Microsoft Visual C++ 4.0 or the
Microsoft Visual C++ 4.2 Help Workshop, you may receive the following
messages: 
   HC4002: Warning:
        The RTF file .\<filename> is corrupted at offset <###>
   HC4005: Warning:
        The .\<filename> help file has not been created.
CAUSE
RTF readers should ignore RTF flags that they do not understand. Word
97 writes a few new RTF flags. The older Help Compilers are not
correctly discarding the new RTF flags and are attempting to process
them. Since the flags are new, the Help Compiler is failing during the
compilation process. 
RESOLUTION
An updated Help Workshop version 4.02 is available through the
following sources: 
Microsoft Office 97, Developer Edition. 
Microsoft Developer Network - Library - Jan 97 
     Updated Microsoft Help Workshop 4.02\HELPSHOP\SETUP.EXE
Microsoft Visual C++ for Windows Version 5 
     Emterprise and Professional Editions
     \DevStudio\Vc\Unsupported Tools\Hcw
Note: Visual Studio 97 ships the older 4.01 compiler. 
Gianpaolo Bottin
- Live Long and Prosper -

 353.
Try to download this file:
http://support.microsoft.com/download/support/mslfiles/hcwsetup.exe
You must register before (Microsoft wants to know your personal data before
authorizing you to enter in its support's area).
Or you can download this file without registering yourself (but this site
is in Italy!):
http://www.microsoft.com/italy/support/office/file&patch/woi001/woi001.exe
Good luck.
Joe Parrello.
http://space.tin.it/computer/giparrel
jopa...@tin.it
Newsgroup: it.comp.lang.c++
Titolo: Problem with ATL!!!

Salve a tutti,
ho un piccolo problema con un progetto ATL.
Io stò cercando di costruire un DCOM Server con gli ATL e il mio problema è
come poter accedere delle funzioni contenute all'interno di una dll.
Le funzioni, che io definisco all'interno del mio DCOM server e che devono
essere accedute dall'esterno (client remoto), hanno come compito quello di
dover chiamare appunto le funzioni contenute all'interno di questa dll che
io ho incluso  nel mio progetto.
La strada che ho seguito finora è quella dettatami dai manuali secondo cui
devo includere la lib della dll nel progetto e la dll(eseguibile) nel path
di esecuzione e importare nell'header file principale le funzioni da
importare.
Sicuramente c'è qualcosa di sbagliato in ciò che ho fatto; potete
consigliarmi una strada alternativa?
Ringraziandovi in anticipo porgo i migliori saluti.
Matteo.
P.S.
La DLL non è stata fatta usando le MFC.

La DLL non è stata fatta usando le MFC.
Ci riesci a richiamare la DLL da un EXE qualunque?  Un DCOM
Server non e` in questo diverso, quindi ti consiglio di separare i
due problemi.  Se con l'EXE banale non funziona, sono dei
problemi di un tipo (le esporti le funzioni dalla DLL?  Verifica
con dumpbin.exe che trovi nei directory del VC++; le importi
nell'EXE?  Verifica idem; ecc ecc); se cosi` funziona ma col
DCOM Server no, sono problemi di altro tipo (per ora non ho
ipotesi, non mi viene nulla in mente, ma tu prova e facci
sapere -- qui sul gruppo, please, non nella mia mailbox!).
Alex


Per importare intendo usare la _declspec(dllimport), ma se non la includo mi
solleva un errore in compilazione che non riconosce le funzioni della dll
che io richiamo.
Questa dll l'ho già utilizzata in un altro .exe file e li funziona
perfettamente ed è anche per questo che non mi spiego il perchè di questa
anomalia.
Il motivo che io presumo possa portare a questo problema è un errato
settaggio dell' environment o l'errata ubicazione della definizione delle
funzioni da importare.
Grazie lo stesso e vedrò cosa fare.
Newsgroup: it.comp.lang.c++
Titolo: Librerie per la grafica

Volevo sapere se qualcuno puo consigliarmi delle librerie per fare grafica.
Per grafica intendo sia qualcosa del tipo colorare il pixel alle coordinate
x,y ma anche qualcosa per visualizzare immagini, ve ne sarei molto grato
grazie mille!


Il C++ nel suo standard non fa nessun riferimento alla grafica, ad ogni
modo tutto dipende dalla piattaforma ( SO + HW ).
Ti consiglio di dare un'occhiata ad OpenGL di cui esiste
un ampio porting su tutte le piattaforme (per linux si chiamano MESA).
NB. OpenGL non e' una libreria, ma solo un'interfaccia software
       per Hardware grafico.
Ciao
Gaetano.
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 x,y ma anche qualcosa per visualizzare immagini, ve ne sarei molto grato
Hmm.. il mio professore ha fatto qualcosa che ti potrebbe essere utile...
peccato che la libreria non viene aggiornata sul sito da un po' di tempo :)
Ad ogni modo credo che Allegro sia quello che cerchi, anche se ho perso la
mano da un pezzo per quanto riguarda la programmazione stretta...
--
Diego Petteno'

Newsgroup: it.comp.lang.c++
Titolo: C++ Primer 4th edizione

Salve,
Io posseggo la terza edizione di questo libro e mi chiedo se vale la
pena prendere anche la quarta.
Ho sentito che molto e' stato cambiato ma non so se il riferimento e'
solo all'organizzazione oppure al contenuto. Dato che devo
approfondire la conoscenza del C++ e mi hanno consigliato questo
libro, c'e' differneza tra le due edizioni per quanto riguarda il
contenuto oppure no?
Thanks :)

 ha scritto nel messaggio 
news:b1c9efa1-1ccd-4008...@3g2000yqs.googlegroups.com...

Newsgroup: it.comp.lang.c++
Titolo: Piuttosto[OT]

So che non č la sede per porre certe domande, ma non so dove porle, magari
se qualche anima pia mi dasse dei link...
Comunque la domanda č questa:
Vorrei sapere se qualcuno di voi fa il programmatore nella zona di Modena o
Bologna, e se mi sapete dire qualcosa circa la crisi che sta passando
l'industria del software in questo periodo!
Pongo questa domanda perchč vorrei diventare un programmatore
professionista, ma al momento non ci sono offerte di lavoro!
Pensate che il mercato si riaprirą presto o la crisi č destinata a durare?
Grazie mille a chiunque risponderą !
Ciao
Francesco.

 l'industria del software in questo periodo!
Zona Milano. Crisi nera. Riduzione media del 30% (anche nella mia Ditta, 
fortunamente io non sono stato 'toccato').
Buone prospettive per il 2004.
-- 
Luc.

 Luc.

 Intendevi dire 2003 vero?
No.
-- 
Luc.

 wrote in message
news:Rn6K9.7852$TC5.2...@twister1.libero.it...

Io ho dubbi anche per il 2004, figuriamoci.
Maurus

 wrote

Negli Stati Uniti, invece, il mercato riprende forze, il che puň essere di
buona augura per l'Italia. Č da molto, in Italia, che la crisi dura?
Claudio Puviani

Newsgroup: it.comp.lang.c++
Titolo: Chi mi spiega...

Salve a tutti.
Volevo sapere come funziona esattamente la programmazione orientata
agli oggetti,  cosa sono le classi ed altri argomenti correlati.
Anticipatamente ringrazio.
Cordiali saluti.
Matteo.

Ciao,
    Paolo Marotta ha scritto un bel documento sull'argomento. Lo trovi su
www.programmazione.it
A presto :-)
Marco Abis
http://www.programmazione.it
 Il sito Italiano di riferimento per lo
sviluppatore
ab...@programmazione.it

agli oggetti,  cosa sono le classi ed altri argomenti correlati.
Trovi una mia introduzione alla mia home page (in formato word, zippato)
 e su 
www.programmazione.it
 (sicuramente almeno in html)
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: System per il C++ in Windows

Per i programmi in c spesso ho adoperato il comando "system" per eseguire i
programmi o
comandi dos.
Vorrei sapere quali sono le istruzioni da usare nel caso del c++ in ambiente
windows (in particolare con le owl del Borland c++) per eseguire un
programma dos.
Grazie in anticipo!!, Franky.

Newsgroup: it.comp.lang.c++
Titolo: icona nella barra di avvio

Salve ragazzi,
 avrei bisogno di un vostro aiuto, come posso fare in c++ builder a
piazzare un'icona nella bara di win95/98 vicino all'orologio, che se ci
si clicca sopra col mouse si avvia il mio programma?
GRAZIE PER LA RISPOSTA
mailto:
anton...@ntt.it

personalmente ti consiglio di usare la libreria di componenti RX, che ne ha
appunto uno per le "tray icons"
la trovi sulle pagine di Torry
TobiX
Newsgroup: it.comp.lang.c++
Titolo: istruzione per lanciare programmmi

sto creando un programma, ma non riesco a capire l'errore che mi viene
dato dal c++ della borland o della microsoft ho pčrovato con le
istruzioni exec... ma non riesco a farlo partire
qualcuno di voi mi puň aiutare?
grazie

you wrote:

it.comp.programmare.win32
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------
"There is nothing better for understanding a kangaroo
 than seeing it jump." [D.Grune, C.J.H. Jacobs]

sai ho 16 anni e vorrei incominciare a programmare in c++
conosco un po' di vb,pascal, assembler
questa istruzione mi serve x fare un autorun per un programmma in vb..



fammi capire devi fare un programma che se aperto ne lancia un
altro???
se e' cosě puoi usare: system("nomeprogramma")
neon pensa: Kom'e' bello il FreeAgent

questa istruzione mi serve x fare un autorun per un programmma in vb..
Questo gruppo di discussione tratta il C++ standard ed e' quindi poco
adatto a fornirti una soluzione al problema. 
Dato che utilizzi il VB, probabilmente it.comp.lang.visual-basic (si
chiama cosi' ?) potrebbe esserti piu' utile. 
In ogni caso, per tutti gli argomenti strettamente riguardanti la
programmazione per Windows, e' meglio rivolgersi a
it.comp.programmare.win32. 
Il C++, nella sua forma standard, non possiede alcuna istruzione utile
per i tuoi scopi, le sue implementazioni specifiche si'.
Trattare le sue implementazioni specifiche qui dentro e' off-topic, in
quanto non prettamente attinente al linguaggio puro.


per i tuoi scopi, le sue implementazioni specifiche si'.
#include <cstdlib>
system(const char* format, ...)
Poi che le implementazioni specifiche siano di solito molto meglio
(piu' flessibili e fanno anche cose molto piu' particolari) e' vero.
Pero' il C++ (anzi il C) un'istruzione per far partire altr programmi
la ha.
--
 (o-  | c:\> win2000patch001.exe
 //\  | This Microsoft(c) patch fix all bugs present. All rigth reserved.
 V_/_ | Insert Linux boot disk to continue ... loading kernel ...
http://pinguin.linuxbox.com
 r.salmaso(at)
flashnet.it


Puoi utilizzare (che é molto meglio di exec) WinExec o ShellExecute.
In più, con queste due funzioni, non avrai nessun problema con la borland!!!

la ha.
A parte il fatto che non si tratta di istruzione, ma di *funzione* e
sono due cose ben diverse. La funzione specifica non serve a "far
partire altri programmi", ma ad eseguire un *comando* del sistema
operativo. Che poi esso possa essere il nome di un programma e quindi
lo possa lanciare, e' un altro discorso. In generale system() viene
usata per eseguire comandi. Sotto Windows, per esempio, esistono API
specifiche e bisogna usare quelle.

Newsgroup: it.comp.lang.c++
Titolo: come si fanno i videogiochi?

Conosco le basi del c++, vorrei fare un semplice videogioco, ma non so da
dove iniziare.
Cosa bisogna sapere per fare un videogioco?
Grazie
----------------------------------------------------------------------------
---
stefa...@angloni.com
----------------------------------------------------------------------------
---

Cosa bisogna sapere per fare un videogioco?
Siamo OT o no? Boh.
Beh, ad ogni modo devi prima vedere per quale piattaforma vuoi
programmare e dopo cerca il NG che ti serve.
Se è per Windows 9x/NT/2k, rivolgiti a:
nntp://
news.libero.it/it.comp.programmazione.win32/
Ciao.
--
DGP85
http://daps.cjb.net/
Newsgroup: it.comp.lang.c++
Titolo: Espressioni regolari

Ciao,
se sono OT chiedo venia:
ho una pagina HTML da cui devo togliere i tag <> e </>.
In perl ho una espressione regolare che mi fa questo ma in C++ 
come lo faccio ?
Grazie
Giuseppe

 ha scritto nel messaggio
news:b202cn$16rolu$1...@ID-154800.news.dfncis.de...

O ti scrivi una funzione di parsing, oppure usi una libreria di regular
expression, come la regex delle boost:
http://www.boost.org/libs/regex/index.htm

Giuseppe wrote:

puoi anche usare il flex
-- 
__________________________________
"Ama e fai c'ho che vuoi".... 
__________________________________

...

Riusi la tua espressione regolare servendoti della libreria regexp di
Boost: 
http://www.boost.org
Ciao,
Nicola

 come lo faccio ?
Cerca una libreria che si chiama "pcre". Adopera le stesse espressioni regolari che il Perl.
Infatti, "pcre" vuol dire "Perl-Compatible Regular Expressions".
Claudio Puviani

Newsgroup: it.comp.lang.c++
Titolo: i colori e la loro gestion in VC++ !!??

Ciao a tutti...
essendo nuovo del NG non so come funzioni qui, tuttavia vi chiedo di darmi
un suggerimento:
come si cambia il colore del testo, lo sfondo e il font in un controllo VC++
(edit, static, button...) ?
non con MFC !!! (non le uso mai)
CIAO e GRAZIE in anticipo
-
Kaos Software

> essendo nuovo del NG non so come funzioni qui
Le domande inerenti al C++ specifiche per la piattaforma Win32 devi farle
su:
it.comp.programmare.win32
Newsgroup: it.comp.lang.c++
Titolo: linux= fork - windows= ?

Sapete dirmi il nome (e magari come si usa) dell'equivalente del fork in
linux per windows?
Se non sono stata chiara:
Linux=fork --- Windows= ???

 wrote in message
news:xq40a.133484$0v.37...@news1.tin.it...

windows = it.comp.programmare.win32
t'ho già risposto su itlc :)
Sbirish

"sbirish" <sbi...@dontspam.me.tnx> wrote in message
news:Pr40a.133498$0v.37...@news1.tin.it...

chiedo scusa.. non eri tu.. ma è arrivata la stessa domanda anche su itlc
non esiste un equivalente di fork su windows.
La discussione potrebbe essere ben lunga.. posta la tua domanda su
it.comp.programmare.win32
riciao..
 Sbirish

 ha scritto nel messaggio
news:xq40a.133484$0v.37...@news1.tin.it...

credo che il windows non abbia a che fare con "l'idea" del fork del Linux.
non esiste un equivalente poichè i due OS funzionano in modo differente e
gestiscono i processi in modo altrettanto differente.
ivan

io sono ignorante (lo si è capito ;))
Ma so ke c'è un simile del fork di linux per windows... o almeno so ke il
fork in linux gestisce processi figli... invece in windows si fanno i
threads... ma come SI CHIAMA? (O Circa... cmq è un comando similare ;))

 wrote in message
news:wH50a.185282$AA2.7...@news2.tin.it...

thread e processi sono due cose profondamente diverse..
si.. esiste il modo per spawnare un processoin windows..
ma non è quello che ti aspetti. Vedi msdn per CreateProcess
... nel caso invece si parli di thread.. il discorso è ben diverso..
CreateThread CreateThreadEx beginthread beginthreadex....
sempre msdn come riferimento..
ciao
 Sbirish

Spero... di aver trovato la soluzione..
Tu hai messenger? Se si contattami a: 
alessan...@hotmail.com
 cosi
stasera verso le 21.30 ti faccio parlare con una persona ke ne sa molto  +
di me e a cui interessa questa cosa!


Hai dimenticato di dirgli a chi deve mandare il numero di conto corrente.
Per il bonifico, sai...
Ciaotutti,
* e le consulenze telematiche.

 * e le consulenze telematiche.
Uno Sbirish messangche? :)

MSN Messenger...

 Uno Sbirish messangche? :)
Messinger, Nathaniel Messinger. Presente "City of Angels"? :)
Ciaotutti,
Seth - uh, no, *


wrote:

Sotto windows si usa la famiglia di funzioni _spawn ( _spawnl, _spawnv
ecc...), cerca nella guida del Visual Studio per sapere come si
utilizzano.
ciao,
CoF.
Newsgroup: it.comp.lang.c++
Titolo: Classe: stessa funzione con o senza parametri

Salve,
mettiamo che ho un metodo di una classe che pu� essere chiamato con o senza 
parametri:
classe marameo {
public:
 marameo();
 void print(void);
 void print(std::string);
private:
 std::string szStringa;
}
void marameo::print(void)
{
 szStringa = "stringa di default";
 printf("%s\n", szStringa);
}
void marameo::print(std::string a)
{
 szStringa = a;
 printf("%s\n", szStringa);
}
in questo caso devo scrivere due funzioni distinte per lo stesso metodo 
usando l'overloading: una che accetta parametri, l'altra no.
Tuttavia le funzioni per� fanno la stessa cosa, essendo dello stesso metodo. 
Ma mi tocca scriverle separate! quindi duplico il codice. Quello che vorrei 
fare io � che se il metodo � chiamato con dei parametri usi quelli, 
altrimenti usi dei parametri di default...
ci posso stare a fare due costruttori separati in fondo il codice � poco 
(solo inizilizzare variabili), ma due funzioni per lo stesso metodo dovrei 
duplicare il codice e mi risulterebbe moolto inconveniente...spero che C++ 
offra una soluzione a questo.
grazie 

 
Si, C++ ha i cosiddetti 'parametri di default' che fanno proprio quello che vuoi tu.


puoi usare il valore di default dei parametri:
classe marameo {
public:
marameo();
void print(std::string a = "stringa di default");
private:
std::string szStringa;
}
void marameo::print(std::string a)
{
szStringa = a;
printf("%s\n", szStringa);
}
oppure, meglio ancora (almeno per i miei gusti), puoi richiamare una 
funzione dall'altra:
classe marameo {
public:
marameo();
void print(void);
void print(std::string a);
private:
std::string szStringa;
}
void marameo::print(void)
{
print("stringa di default");
}
void marameo::print(std::string a)
{
szStringa = a;
printf("%s\n", szStringa);
}
In ogni caso, essendo std::string un oggetto, � meglio mettere un 
riferimento costante come parametro, invece di fare ogni volta la copia 
dell'oggetto.
Quindi diventerebbe:
classe marameo {
public:
marameo();
void print(void);
void print(const std::string &a);
private:
std::string szStringa;
}
void marameo::print(void)
{
print("stringa di default");
}
void marameo::print(const std::string &a)

Newsgroup: it.comp.lang.c++
Titolo: Problemi con chiamata costruttore

Eseguendo questo programma:
#include <iostream>;
using namespace std;
class myclass {
 public :
 myclass (int y) {
  cout << "Costruttore parametrizzato chiamato" << endl;
 }
 myclass() {
  cout << "Costruttore di default chiamato" << endl;
 }
 int square (int x) {
  return x * x;
 }
 ~myclass() {
  cout << "Distruttore chiamato" << endl;
 }
};
myclass classx;
 int main (int, char* []) {
  cout << "Inserisci un numero" << endl;
  int z;
  cin >> z;
  myclass obj (6);
  cout << "Quadrato di " << z <<" = " << classx.square (z) << endl;
  return 0;
 }
ho il seguente output:
Costruttore di default chiamato
Inserisci un numero
4   // Inserisco 4 ad es.
Costruttore parametrizzato chiamato
Quadrato di 4 = 16
Distruttore chiamato
Distruttore chiamato
E mi chiedevo:
1)Perchè già all'inizio viene chiamato il costruttore di default?
2)Dopo che viene chiamato il costruttore parametrizzato non dovrebbe essere
chiamato il distruttore, avendo quindi:
Costruttore parametrizzato chiamato
Distruttore chiamato
Quadrato di 4 = 16
Distruttore chiamato
--
Non è stato rilevato nessun bug nel sistema.
Si desidera crearne uno?
--
Posted from [195.223.215.6] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Distruttore chiamato
No, gli oggetti automatici vengono distrutti tutti alla fine del blocco,
in questo caso alla fine della main().
EMG

Newsgroup: it.comp.lang.c++
Titolo: Cercasi compilatore freeware

Qualcuno sa indicarmi un sito dove potrei scaricare gratis un compilatore di
C++ "puro" magari funzionante in DOS?
Grazie
Luigi

 C++ "puro" magari funzionante in DOS?
Prendi il DJGPP all'indirizzo 
www.delorie.com
.
EMG

 wrote in message
391DB86F...@flashnet.it...


Usa l'utility zip-picker per sapere quali files ti servono
--
Marco Iannaccone
marc...@tin.it
Nick: Tolkien
ICQ UIN: 18748121
"This is a new ship, boy, but she's got the right name...
You treat her like a lady, and she'll always bring you home"
"Questa è una nave moderna, ma ha un nome antico e glorioso...
Trattala come una signora e ti riporterà sempre a casa"
FAQ di it.comp.lang.c:
http://www.programmazione.it/linguaggi/c/itcomplangc.htm
FAQ di it.comp.lang.c++:
http://www.programmazione.it/linguaggi/c/lang_faq.htm

 1) v1  2)v1gnu 3) v1tk  4)v1apps  5)v1misc
Fai invece click sul servizio Zip-picker che ti aiuta a scegliere i
files necessari.
EMG

 wrote in message
8fknk1$2he$1...@nslave1.tin.it...


 wrote in message
391E56E1...@flashnet.it...


 tutti gli exe ma nessuno funziona, e mi da errore.
Leggi la documentazione.
EMG
Newsgroup: it.comp.lang.c++
Titolo: C++

I can program using C/C++ for Windows.  I have Visual C++ 6.0 nowadays. I
need to access network printers (by their URL i.e. \\SERVER\PRINTERNAME) and
interrogate their status, i.e. whether it is currently printing (busy or not
busy).
I would like to use MFC but at this level, I don't think it will work.
Any ideas?

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
Best regards,
Nicola Musatti

Newsgroup: it.comp.lang.c++
Titolo: Complessità di algoritmo su grafi...

Qualcuno mi saprebbe dire qual'è la complessità del seguente problema:
dato un grafo determinare se contiene dei cicli (cioè se esistono
circuiti chiusi)
GRAZIE
Daniele



Per determinare la presenza di cicli in un grafo, devi necessariamente eseguire una
visita (se ad un certo punto della visita incontri un nodo gia` visitato, allora esiste un ciclo).
La visita di un grafo e` O(m+n) (dove m ed n sono rispettivamente il numero
di archi e di nodi del grafo) che e` quindi la complessita` del tuo problema nel caso
pessimo.
Paolo
----------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  e-mail: 
mar...@cli.di.unipi.it
 
----------------------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: BCB 4 Leggere da un componente Memo

Salve a tutto il NG,
ho creato una applicazione con Borland C++ Builder 4 Pro. Il problema
che mi è sorto è che non riesco a leggere delle stringhe da un
componente Memo. Più precisamente, io ho un'applicazione che ha una
MainForm con un componente Memo1 (per es.), quando premo un pulsante
mi appare un'altra form con un'altro Memo2, e quando questa appare io
devo leggere il contenuto del componente Memo1 della MainForm ma non
so come fare.
Ringrazio anticipatamente chi mi aiuterà.

 wrote in message
pnnl8tkajh9o77lq0...@4ax.com...

Prova con
Memo1->Lines->Strings[n]
dove "n" e' l'indice della stringa all'interno del Memo e va da "0" a
"numero_di_stringhe-1".


wrote:

Io riesco a leggere da un componente Memo treamite
Memo1->Lines->Strings[n], ma solo se questo componente appartiene alla
Form che contiene questo codice. Il mio problema è che voglio legggere
il contenuto di un componente Memo che si trova in un'altra Form. Come
posso fare?
Grazie in anticipo.
Newsgroup: it.comp.lang.c++
Titolo: Eredita': accesso alla classe base

Ciao a tutti, sono un newbie di questo gruppo, anche perche' ho
iniziato da circa 4 giorni a studiare il c++.
Finite le presentazioni, ecco il mio quesito:
come funzionano esattamente gli specificatori di accesso nella
definizione di una classe derivata?
Nelle tre dichiarazioni:
1)   class NuovaClasse : private VecchiaClasse
2)   class NuovaClasse : protected VecchiaClasse
3)   class NuovaClasse : public VecchiaClasse
come vengono visti in NuovaClasse i membri private, protected e public
di VecchiaClasse?
A proposito e' possibile trovare online qualche corso di
programmazione o anche le specifiche del linguaggio?
Grazie, ciao.
Anderson


Ciao, scusa la domanda...ma sono 4 giorni che studi il C++ e gia sei
arrivato alle classi ?
Mi sembra che tu stia andando un po' troppo veloce....o forse conosci gia
approfonditamente il C ?
Non per niente ma io sono 3 mesi che ho iniziato e ci sono giunto ora alle
classi
ciao

ciao
Ciao
Anderson

 di VecchiaClasse?
In primo luogo, una classe derivata non ha *mai* accesso ai membri private della classe base; il discorso
si restringe quindi subito ai membri protected e public.
1) NuovaClasse vede i protected e public di VecchiaClasse, ma questi sono *private* per lei - ovvero, se una terza
classe (Nuovissima? :) ) deriva da NuovaClasse, *non* vedra' i membri di VecchiaClasse; tantomeno, del codice
esterno.
2) NuovaClasse vede i protected e public di VecchiaClasse,, ma questi sono *protected* per lei - ovvero, una eventuale
classe derivata potra' accedervi, ma del codice _esterno_ no.
3) NuovaClasse vede  i protected e public di VecchiaClasse (e tre! :^)), e questi ultimi (*quelli public in VecchiaClasse!*)
sono public _anche_ per NuovaClasse, ovvero accessibili da classi derivate e dall'esterno.
Saluti,
    Cris
--
Cristiano Sadun - Software Engineering and Consulting
***********Remove NOSPAM from address to reply***********
*********************************************************
"God is Real - unless declared Integer"
Newsgroup: it.comp.lang.c++
Titolo: Compilazione multilingua in Visual C++ 6.0

Ce nessuno che sa dirmi com'e' possibile in Visual C++ 6.0, compilare lo stesso progetto per due (o piu') lingue diverse senza dover
usare piu' progetti?
Ho provato a creare copia di ogni risorsa definendola per la seconda lingua e poi ho settato la compilazione, nella sessione
"Resources" per quella lingua,…ma ahime' non funziona.
Ce soluzione a questo problema?
Grazie a tutti.
Roberto.

Per creare un programma in più lingue credo che sia un'ottima soluzione
quella che ho trovato nell'articolo Q198846, su MSDN, sempreché tu stia
utilizzando Win32 + MFC. Praticamente spiega come creare plugin DLL resource
only, una per ogni linguaggio che intendi creare.
--
Kojak
http://space.tin.it/io/viscorci
vrke...@hotmail.com
"I close my eyes
and I see
you
standing there
I cry
tears
of sorrow
I die."

 wrote in message 8e9itg$o4l$1...@nslave1.tin.it...

Newsgroup: it.comp.lang.c++
Titolo: auto_ptr

Ciao a tutti.
E cosa sono gli auto_ptr citati nella risposta??
Ciao!!!

 E cosa sono gli auto_ptr citati nella risposta??
Un auto_ptr<T> è un oggetto che contiene un puntatore a T e si utilizza 
come se fosse un puntatore, ma:
- quando l'autoptr viene distrutto viene automaticamente chiamato il 
delete del puntatore;
- quando fai una copia, p=q, l'autoptr copiato viene messo a 0.
La prima caratteristica è utile per non doversi preoccupare di chiamare 
il delete corrispondente al new. Tipicamente l'autoptr viene dichiarato 
come variabile automatica e quindi il suo distruttore viene chiamato 
automaticamente all'uscita dal blocco di visibilità. La seconda 
proprietà serve per garantire che il delete non venga chiamato più 
volte, ma è una proprietà che va (secondo me) contro la semantica della 
copia di un oggetto. In particolare gli auto_ptr non può essere messo in 
un vector, ed è pericoloso utilizzarlo come variabile di classe.
E.

 un vector, ed è pericoloso utilizzarlo come variabile di classe.
Quoto. E' invece comodo per utilizzarlo come valore di ritorno, dove
effettivamente quello che accade al copiato non ci interessa. 
Viceversa è oltremodo divertente e masochista usarlo per passare
parametri.
#include <memory>
using std::auto_ptr;
struct Obj {
  int value;
  Obj(int val) : value(val) {}
};
int funny(auto_ptr<Obj> a){
  return a->value;
}
int main (int argc, char const *argv[])
{
  Obj x(10);
  auto_ptr<Obj> p(&x);
  funny(p);
  assert(p.get() != 0);
  return 0;
}
-- 
cc = callcc {|cc| cc.call cc}; cc.call cc

  parametri.
Fatto :)
In realta' a me era servito per rendere esplicito il passaggio di
proprieta' di oggetti non clonabili e da distruggere automaticamente
in caso d'errore.Guardacaso arrivavano gia' in forma di auto_ptr da
una factory :)
--*PaN!*
 
-- 
I'm using an evaluation license of nemo since 163 days.
You should really try it!
http://www.malcom-mac.com/nemo

 in caso d'errore.
Quale delle due cose? Perchè qui su OS X per dire usarli per parametro
genera *sempre* errori.


 parametrogenera *sempre* errori.
Si, ho preso piu' l'idea generale di passare parametri per auto_ptr
che non il codice reale.
Erano auto_ptr custom (necessitavo di deleter), era visual studio, e
con buona probabilita' erano pure passati per riferimento :)
--*PaN!*
 
-- 
I'm using an evaluation license of nemo since 164 days.


 Erano auto_ptr custom (necessitavo di deleter),
evvabbč!

Newsgroup: it.comp.lang.c++
Titolo: <X.h> e <cX>

Leggo sullo Stroustrup:
#include <cstdio>
void f() {
	std::printf("Hello, "); //bene
	printf("world!\n"); //errore: non c'è nessuna printf() globale
}
Tra i compilatori che uso (mingw 3.2 e 2.95, vc98, borland) solo il borland
effettivamente rispetta questa semplice sintassi (il vc98, anzi, non compila
neanche un file contentente, per esempio, std::printf("ciao");).
Spulciando fra gli header, nel mingw 2.95 trovo questo file "stdio":
// The -*- C++ -*- standard I/O header.
// This file is part of the GNU ANSI C++ Library.
#ifndef __CSTDIO__
#define __CSTDIO__
#include <stdio.h>
#endif
Ma questo non è standard? E' addirittura assurdo: equivale a includere
<stdio.h>. E i namespace? Neanche l'ombra!
Non sarebbe meglio un qualcosa del genere:
#ifndef __CSTDIO__
#define __CSTDIO__
namespace std {
	#include <stdio.h>
}
#endif
E, poichè questa è roba che richiede poco, pochissimo lavoro, (credo) qual'è
l'inghippo? Perchè nessuno ci ha pensato? Ma sopratutto, perchè non viene
implementato?
Ciao.
Antonio

 neanche un file contentente, per esempio, std::printf("ciao");).
Dal VC++6 in poi funziona come dice lo standard (e lo Stroustrup).
So che il mingw (non ricordo quale versione) permette di includere cstdio e
non mettere std:: (pur senza aver messo using namespace std;).
Dai tempo al tempo e presto tutti saranno secondo lo standard. Uno standard
viene deciso e successivamente i compilatori pian piano si adeguano. Ad
esempio al VC++5 non piace cstdio mentre al VC++6 si.
Il VC++6 ad esempio non accetta ancora le static constants all'interno di
una classe, mentre il nuovissimo VC++.NET credo di si.....
So che e' brutto, ma e' cosi'!
Tommy

Newsgroup: it.comp.lang.c++
Titolo: Integrazione fra linguaggio C e Visual Basic

Devo realizzare un sistema fruttando la capacità di
creare interfaccie utente con Visul basic fruttando
funzioni realizzate con il linguaggio C.
E' possibile questo? e come?

 ha scritto nel messaggio
news:0emq8.109775$1S3.3...@twister1.libero.it...

basta fare in c o c++ una dll standard con dentro tutte le funzioni che ti
interessano e richiamarla da vb tramite l'appropriata Declare. io
personalmente non l'ho mai fatto e probabilmente non lo saprei fare (sono un
completo novellino in c), ma so per certo che si può fare. persone più
esperte di me ti sapranno certamente spiegare come realizzare il tutto.
ciao, assa.

 realizzare il tutto.
Senz'altro sanno farlo, ma non lo faranno in questo newsgroup.
it.comp.programmare.win32 è il luogo giusto per questi argomenti.
MM
Newsgroup: it.comp.lang.c++
Titolo: SMTP & socket

Salve a tutti !!
Dopo aver stabilito la connesione con il server SMTP come faccio a
sapere di quanti byte č la sua risposta !!
Esempio:
                        .....
send(socket,"HELO localhost.localdomain",lughezza mio msg,0);
recv(socket,buffer,????,0);                     //???? corrisponde al i
byte che mi deve inviare !!
Grazie.

 
Non lo sai.
Permettimi di darti alcuni consigli:
1. Poni queste domande su un gruppo adatto.
2. Non cercare di implementare protocolli senza aver letto gli RFC. Non ha
alcun senso, nè dal punto di vista, diciamo, didattico, nè ancor meno dal
punto di vista pratico.
3. Studia il codice esistente. Ti assicuro che di implementazioni
dell'SMTP ne trovi a palate in giro. (Al limite ti scarichi i sorgenti di
Sendmail)
Max

recv(socket, buffer, lstrlen(buffer), 0)
Il terzo parametro č semplicemente la lunghezza del buffer. Il
numero effettivo dei byte letti viene restituito da recv. Puoi
usare strlen() o l'equivalente Win32 che č lstrlen().
Bob Rock
* Sent from RemarQ 
http://www.remarq.com
 The Internet's Discussion Network *
The fastest and easiest way to search and participate in Usenet - Free!

 punto di vista pratico.
Non sto implementando nessun protocollo sto facendo solamente un programma in
c++ che utilizza gli socket!!


Newsgroup: it.comp.lang.c++
Titolo: [Forse OT] Bison / Yacc

Ciao a tutti,
utilizzo Bison la creazione delle regole grammaticali per un linguaggio
"inventato" che sto seguendo.
Il tutto viene sviluppato su una macchina Linux FC2 con
-bison 1.875
-gcc 3.3.3
L'ambiente di produzione è solaris 8
-bison 1.28
-gcc 2.95
E tutto viene compilato perfettamente
Ora devo eseguire una compilazione su una macchina solaris 9
--bison 1.875
--gcc 3.4
ma mi viene generato il seguente errore:
y.tab.c: In function `int yyparse(void*)':
y.tab.c:2001: error: expected primary-expression before "__attribute__"
y.tab.c:2001: error: expected `;' before "__attribute__"
make[1]: *** [ptag.o] Error 1
Che ne pensate?
Ringrazio anticipatamente tutti coloro che mi risponderanno
Ciao
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Che ne pensate?
Che al gcc 3.4 il codice prodotto non piace. Vedi se puoi aggiornare 
bison o usare un gcc piu' vecchio.
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003

 
In particolare *mi sembra* di aver letto qualcosa proprio sul fatto che 
__attribute__ (forse solo in certi contesti) non e' piu' consentito.
Vedi il changelog della 3.4.0 sul sito.
  bye
	av.
Newsgroup: it.comp.lang.c++
Titolo: Aiuto! bubble_sort!

Modificare il programma bubble_sort in modo che,invece di riordinare 
gli elementio di un array,memorizzi la sequenza ordinata in un altro array
chiamato ord[ ].Per esempio,data la sequenza originale di cinque elementi:
13  25  11  2  14
i valori di ord al termine dell'ordinamento devono essere:
ord[0]=2
ord[1]=4
ord[2]=1
ord[3]=0
ord[4]=3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Il seguente è il bubble_sort da modificare:
#define FALSE 0
#define TRUE 1
#include <stdio.h>
void bubble_sort(list,list_size)
int list[],list_size;
{
int j,k,temp,sorted = FALSE; 
while(!sorted)
 {
   sorted = TRUE;    /*assume che ord sia ordinato*/
  /*Algoritmo di stampa:non fa parte di bubble_sort()*/
   for(k=0; k < ord_size;k++)
       printf("%d ",ord[k]);
       printf("\n");
  /*Fine algoritmo di stampa*/ 
   for(j=0;j < list_size-1;j++)
      {
      if(list[j] > list[j+1])
	{
	sorted = FALSE;
	temp = list[j];
	list[j] = list[j+1];
	list[j+1] = temp;
	}
      }        /*Fine del ciclo for*/
 }        /*Fine del ciclo while*/
 }
main()
{
int i;
static int list[] = {13,56,23,1,89,58,20,125,86,3};
bubble_sort(list,sizeof(list)/sizeof(list[0]));
exit(0);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proprio non riesco a risolverlo come chiede l'esercizio.Qualsiasi aiuto è
il benvenuto.
PERFAVORE AIUTAMI!!!  ;-)


Non puoi copiare l'array list[] in un array ord[] e poi passare quest'ultimo alla funzione
bubble_sort?
- - - - - - - - - - - - - - - - 
Christian Salvaneschi           
Casarza Ligure, Genova, Italy			
cr...@freenet.hut.fi

         }
Grazie! ;-)
Il risultato ottenuto č: 3,2,0,4,1;che č molto piů di quel che sono
riuscito a fare io. :-(
L'ordinamento infatti č riuscito anche se non come chiede l'esercizio.
Il compito vuole che l'ordinamento ottenuto sia:2,4,1,0,3.Praticamente
chiede di assegnare a ord[ ] la posizione dell'elemento nell'array list[ ]:
se list[ ] č:list[ ]={13,25,11,2,14};l'ordinamento risultante dovrebbe
essere
2,4,1,0,3 perchč 13 nell'array list[ ] corrisponde all'elemento 2
nell'array
ordinato,25 corrisponde all'ultimo elemento nell'array ordinato,11
corrisponde all'elemento 1,
2 corrisponde all'elemento 0 e 3 corrisponde all'elemento 14.
Ci provo ;-)
                            Ciao,
                                                 Paolo
Newsgroup: it.comp.lang.c++
Titolo: Ereditarietà protetta e funzioni friend

Ho un problema con l'ereditarietà protetta: credo che il modo più
chiaro di spiegarlo sia con un esempio.
class Base {
public:
    [...]
    friend void f(Base const& x);
}
class Derived : public AltraBase, protected Base {
    [...]
}
void main() {
    Derived d;
    f(d);
}
Il compilatore mi risponde che la conversione da Derived a Base
esiste, ma non è accessibile.
- Se implemento una funzione void f(Derived const& x) che chiama 
f(Base const& x), mi va in ricorsione (e non posso cambiare il nome
della funzione perchè in realtà è l'operator<<); 
- Base::f(d) non ha senso perchè f non è un membro di Base;
- nella mia ignoranza ho provato anche con reinterpret_cast, ma a
quanto pare non c'entra nulla...
Come si fa?
--
== Aldo Brucale ===================

Ma si eredita il friend?
Scusate la banalità, ma io imparo quando sbatto il muso, e finora non mi è
capitato. Credo però di aver letto che non si eredita.
--
Alessandro Monti

 quanto pare non c'entra nulla...
Infatti, se mai sarebbe uno static_cast e non un reinterpret_cast
(puoi usare static_cast, invece della variabile locale che e` un
riferimento a Base, nella versione suddetta della f).
Alex

 esiste, ma non è accessibile.
E' normale, avendo ereditato da Base in modo protected. Prova ad
ereditare in modo public e vedrai che funziona. Forse ci sono altre
soluzioni ma in questo momento non mi vengono.
EMG

 capitato. Credo però di aver letto che non si eredita.
Non si eredita in nessuno dei due sensi in cui sarebbe pensabile...:
    class B {
        // ...
    };
    class A {
    public:
        friend class B:
        // ...
    };
    class A1: public A {
        // ...
    };
    class B1: public B {
        // ...
    };
B e` friend di A, ma non di A1; B1 non e` friend di A; ecc ecc.
In generale, non e` detto che gli amici dei tuoi genitori siano
tuoi amici, e neppure che lo siano i figli dei tuoi amici.  In
questo senso, "friend" del C++ modella bene il mondo reale:-).
Alex

 
Mi pare opportuno a questo punto rendere edotto chi non ha letto il
Lippman-Lajoie della loro definizione:
"friends touch their private parts"
Ciao,
Nicola

 Ma si eredita il friend?
No.
	Mauro