mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: char* foo = new char[0]

Mi sono sempre chiesto che cosa prevede lo standard
per una cosa tipo:
char* foo = new char[0];
Il problema è che *consuma* memoria
(ho provato con il BCC 5.5 ed il DJGPP).
Grazie
Manlio Perillo

 (ho provato con il BCC 5.5 ed il DJGPP).
Mi ha interessato questa cosa e ho fatto un paio di prove (non so cosa
prevede lo standard in materia). In Visual C++ viene restituito un puntatore
ad una zona di memoria di lunghezza zero e di fatto occupa della memoria
nello heap. IMHO sarebbe stato piů corretto restituire un puntatore a NULL.

IMHO sarebbe stato più corretto restituire un puntatore a NULL.
Ho fatto una ricerca su deja e ho letto che lo standard si
contraddiceva su quale debba essere il comportamento nel caso.
E' stato aperto un incidente e la decisione del comitato e' stata
che una allocazione di 0 bytes deve restituire un puntatore univoco
diverso da NULL oppure fallire (con bad_alloc o tornando NULL nel
caso della versione nothrow).
Ovviamente dereferenziare un puntatore ad un'area lunga zero
bytes e' comunque undefined behaviour.
HTH
Andrea
--
----------------------------------------------------------------
 <\___/>  Andrea        email: agriff at tin dot it
 / . . \  "6502"          irc: _6502_@EFNET#italia
(  (")  ) Griffini   homepage: 
http://www.netservers.com/~agriff
Sent via Deja.com 
http://www.deja.com/
Before you buy.

 (ho provato con il BCC 5.5 ed il DJGPP).
lo standard dice che due oggetti devono avere indirizzi diversi, anche
se la loro dimensione è 0. Penso che la cosa valga anche per i tipi
predefiniti, come ad esempio un char. Lo standard non dice come deve
essere implementata questa cosa, ma per farlo generalmente si
attribuisce ad un oggetto (o tipo predefinito) una dimensione comunque
diversa da 0. Nel tuo caso, new char[0] dovrebbe allocare comunque 4
byte (se questo è l'allineamento del tuo sistema).
Newsgroup: it.comp.lang.c++
Titolo: stato attuale dei compilatori

Vista l'uscita delle nuove versioni dei compilatori pių diffusi
(lo GNU C++, il Visual C++ ed il Borland C++), mi interessava sapere
come sono messi riguardo alla conformitā allo Standard.
Personalmente ho provato la beta 2 del VCC 7 e presenta ancora gravi lacune
(anche se non so se tutti dovuti alla versione beta);
invece il g++ 3 sembra comportarsi veramente molto bene (e i warning per i
template
mi sembrano buoni).
Saluti e grazie  Manlio Perillo

 come sono messi riguardo alla conformitā allo Standard.
A quanto pare GNU e VC hanno fatto passi avanti decisi per quanto
riguarda la conformita', mentre Borland un po' meno.
Dei tre gcc e' probabilmente quello piu' avanti, anche se a quanto pare
ha ancora qualche problema di stabilita'. La versione 3.1 dovrebbe
migliorare ancora le cose ed essere distante solo qualche mese.
VC++ 7 e' notevolmente migliorato, ma ha ancora problemi seri, quali la
specializzazione parziale dei template. Microsoft millanta l'esistenza
di una beta interna del nuovo compilatore particolarmente conforme
(compila boost senza workaround); probabilmente esiste davvero, ma non
e' chiaro quando uscira'.
La Borland ha purtroppo puntato su altre cose per questa release (sta
per uscire BCB per Linux ed e' lanciata su Web Services e cose simili).
Il passo avanti piu' deciso e' l'adozione di STLPort al posto della
libreria Rogue Wave; sono stati corretti alcuni errori, ma altri sono
rimasti, e non sono sicuro che non ne siano stati introdotti alcuni di
nuovi.
Nel frattempo Comeau ha in beta il supporto di export...
Ciao,
Nicola

Non voglio rispondere alla tua domanda ma solo comunicare, data anche la tua
ottima impressione riguardo al GCC 3, che è appena uscita una delle ultime
versioni beta del prossimo Dev-C++ 5, un ide gratuito contenente l'ultima
versione del compilatore MinGW, basato come tutti sanno sull'ottimo GCC.
Lo scaricate da 
www.bloodshed.net
 (~10Mb completo di MinGw/Gcc 3.x);
--
--
Lello Mele
--
HOMEPAGE: 
http://www.lellomele.it
eMAIL   : lellomele@@
libero.it


Nel post originale mi ero dimenticato di chiedere notizie sul KAI C++.
Esiste ancora?
Sono andato sul loro sito ed a quanto pare non vendono più licenze per uso
personale.
La Intel ha deciso di 'inglobarlo' nel suo compilatore?
Ciao  Manlio Perillo

 di aspettare).
Ho beccato questo link in cui Lippman parla diffusamente del
Visual C++ 7:
http://www.codeproject.com/interview/stanlippman14nov2001.asp
--
Gerolamo
Newsgroup: it.comp.lang.c++
Titolo: .NET, dll e ASP normale......


iQA/AwUBO/GKzIqtLIXc8TIfEQKFQACgm+Boo0E7cK/rofd77GlonGSJwYYAn3tI
YWzu4TnPNyQ/e0ziQMA9i8L3
=PdMM
-----END PGP SIGNATURE-----

 Scusate il leggero OT,
Leggero? Il tuo messaggio non ha assolutamente nulla a che vedere con il
C++.
Prova a dare un'occhiata al manifesto del gruppo.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556


iQA/AwUBO/GOwIqtLIXc8TIfEQKcrwCfVcdm9w7BUMTwBw0xwZLaJGrEQXYAn0uq
mTJnfneWh4mTEbvc8R3cWgii
=7lRo
-----END PGP SIGNATURE-----

quello del Delphi (con il quale non ha nulla in comune)
bastava che lo postassi su it.comp.programmare
e cmq nel tuo messaggio c'č anche dell'ASP se non erro...
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com
http://www.foxhound-games.it

 quello del Delphi (con il quale non ha nulla in comune)
Perchč allora non su quello Java o VB che assomigliano (per motivi
diversi) a C# tanto quanto il C++ ?
Comunque esistono gruppi molto piů adatti.
Ce ne sono nella gerarchia microsoft.public.*
Inoltre c'e' it.comp.programmare
E presto, si spera, it.comp.lang


Newsgroup: it.comp.lang.c++
Titolo: come faccio...

come faccio a programmare se non riesco a fare le parentesi graffe?
sulla mia tastiera non le trovo sapreste voi dirmi come fare
grazie ciao

 ha scritto nel messaggio
news:OR50T7W...@cwnts22.ciaoweb...



prova a fare AltGr + 7 per la {  e AltGr + 0 per la }

Newsgroup: it.comp.lang.c++
Titolo: C++ Developer, Senior Level - Atlanta, GA

TITLE:  Senior C++ Developer
LOCATION:  Atlanta, Georgia area (just northeast of Atlanta)
SALARY:  $70-85K+ based on qualifications
Need strong C++ (5+ years preferred), and mathematical background or
degree is preferred. Experience in manufacturing software industry
would be a big plus!
Will be doing full life cycle development of manufacturing-related
software, working on product configuration management, "expert system"
technologies. Great people to work with, great manager to work for,
small team environment, better than average benefits. You'll be
recognized for performance as you work with experts in the field. Well
established, medium-sized company is experiencing outstanding growth
and revenue.
If you are interested we would like to talk with you as quickly as
possible to determine whether this is a suitable place for you. Please
contact Phil at 
(404) 812-3233
, or email 
Ph...@jes-atlanta.com
 (use MS
Word format if attaching resume if possible).
Be sure to mention this newsgroup ad when you call or write.
Thank you.

 Thank you.
--
Nascar's new wave: 99, 24, 18, 16, 12, 1 - Any questions?
-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp
   Create Your Own Free Member Forum
Newsgroup: it.comp.lang.c++
Titolo: Messaggio di inizio sessione

Ciao a tutti.
Sto programmando un service per NT.
Quando un utente esegue un logout all'applicazione vengono inviati due
messaggi WM_QUERYENDSESSION e WM_ENDSESSION.
Sapete se all'applicazione viene inviato un messaggio (e quale) al momento
in cui viene eseguito un login?
Grazie

in cui viene eseguito un login?
Mi è capitato di recente di scoprire - a mie spese, sigh - che se usi le MFC
e basi il servizio su una classe CWinApp, ad ogni login viene chiamato il
metodo virtuale CWnd::OnDisplayChange()
Non so a quale messaggio risponda, se serve interrogo il ClassWizard e ti
dico.
---
Bye, Fox.
P.S. se scopri qualcosa fammi sapere.

Newsgroup: it.comp.lang.c++
Titolo: Watcom C++

Vorrei sapere quale è l'ultima release di questo tool di sviluppo e
quando è stata rilasciata... grazie

Quando è stata rilasciata non lo so. Cmq l'ultima versione è la 11.0.
Ciao, David...
cod ha scritto:

Newsgroup: it.comp.lang.c++
Titolo: Libro "Thinking in C++" di Bruce Eckel: chi lo ha letto?

Qualcuno ha letto il libro in questione? Che ne pensate?
-- 
"Con questo cosa voglio dire? Non lo so. Pero' c'ho ragione."
(Palmiro Cangini)

Qualcuno ha letto il libro in questione? Che ne pensate?
Io sono fermo da parecchio più o meno verso la fine del primo volume.
Ti dirò: il libro è fatto bene. Eckel è piuttosto bravo e conosce la
_sua_ materia.... il problema + che altro è che il C++ in sè è
difficile :)
[ma che gli passava per la testa a Stroustrup quando l'ha creato?]
--
Rhymes
rhy...@myself.com
" ride or die "


Ho letto solo il primo volume.
Un ottimo libro per imparare il C++ da zero (se sai un po' di C).

 wrote in message
news:ah0n0s$rg4$1...@newsreader.mailgate.org...


 
Per me è stato utilissimo nel momento in cui ho dovuto passare dal C (o 
comunque da un C++ non completo come Visual C++ 1.5x) al C++.
Se vuoi dargli un'occhiata puoi scaricarlo in formato PDF da 
www.eckelobjects.com
.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)
Newsgroup: it.comp.lang.c++
Titolo: problemi con getline(istream&, string&) del BCC 5.5

Ho il seguente programma:
#include <string>
#include <iostream>
int main()
{
  std::string str;
  std::getline(std::cin, str);
  std::cout << "lenght: " << str.length() << '\n';
  std::cout << "begin:  " << int(*str.begin()) << '\n';
}
Alla richiesta di input premo solo [INVIO].
Con il BCC 5.5 ottengo:
lenght: 1
begin:  0
E' un bug, vero?
Manlio Perillo

 begin:  0
Sia g++ che KCC danno
lenght: 0
begin:  0
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

Credo di si. Sul sito della Borland dovrebbe essere disponibile un
aggiornamento del compilatore, che forse risolve anche questo problema.
Ciao,
Nicola

Ma di questi tempi allla Borland a cosa pensano quando programmano, a Candy
Candy?
:-)
Sebastiano

 --
La Borland mi stupisce sempre di più.
Sto trovando dei bug nella libreria standard veramente assurdi e banali.
Qualunque programmatore C++ dopo un breve uso di tale libreria potrebbe trovare
questi errori.
Questo mi fa pensare una sola cosa:
alla Borland devono aver pensato
"ma che ci frega di fare il test della libreria, tanto chi la usa! Noi abbiamo la VCL OWL etc ect".
(tradotto in italiano per comodità)
Manlio Perillo

 Candy?
A proposito: la patch segnalata io non sono riuscito a trovarla. Mi date
l'indirizzo esatto, per favore?
EMG

Le Patch le trovate qui:
http://www.borland.com/devsupport/bcppbuilder/patches/bcc55/bcc55sp1.zip
e
http://www.borland.com/devsupport/bcppbuilder/patches/bcc55/bcc55sp2.exe
ciao a tutti
--
         .ChillOut '2k.


 
http://www.borland.com/devsupport/bcppbuilder/patches/bcc55/bcc55sp2.exe
Molte grazie! Ci vado subito...
EMG
Newsgroup: it.comp.lang.c++
Titolo: Dll & simboli esportati

Salve a tutti...
arrivo subito al dunque :) come faccio per far in modo che le funzioni di
una mia dll,possano essere lanciate con il loro nome e non con altri simboli
che lo precedono e lo seguono?
Es:
MiaDll.h (io le funzioni le esporto così...)
#ifdef DLL_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
DLL_API void Messaggio (void);
Quando lancio la funzione Messaggio con Rundll32
[run32dll Miadll.dll,Messaggio] mi dice "Errore:voce mancante".
Con il depends sono andato a guardare i simboli esportati ed ho visto
che la mia funzione viene esportata con questo nome
"?Messaggio@@YAXXZ"
Come faccio per esportarla con lo stesso nome della funzione che sta nel
sorgente???
Ciao e grazie a tutti.

[-M4§t3r-] <spo...@the.moment> wrote in message
news:8fgo0o$qb3$4...@nmaster.tin.it...

Dichiari la funzione extern "C" cosi` da non avere le tipiche "decorazioni"
del C++.  Meglio ancora, usi i file .def invece della __declspec, questo ti
da` il massimo controllo possibile.
Comunque e` una problematica tipica della sola piattaforma Win32 quindi ti
consiglio di chiedere su it.comp.programmare.win32, NON qui.
Alex

 consiglio di chiedere su it.comp.programmare.win32, NON qui.
opps...scusa:(
sei stato troppo gentile.
ciao && grazie.
 *Prisky(at)
freemail.it
*"Microsoft si riserva tutti i diritti non espressamente concessi dal
   presente Contratto." [dal contratto di Win98]

Newsgroup: it.comp.lang.c++
Titolo: File di startup

Sto utilizzando per la prima volta il Borland C++ 5.5, perche' devo
linkare obj generati per tale compilatore.
Non ho capito bene come si sceglie il file di startup iniziale, quello
c0xxxx.obj contenuto nella sottodirectory lib.
Mi scuso per il pessimo modo in cui mi sono spiegato, ma sono passato
dalla primissima versione di turbo c a questa, e tra l'altro sviluppo
in tutto tranne che in c :))
Grazie :)
Ciao.Alberto.
-------------------------------------------------------------
Alberto Rubinelli           Mail : 
alb...@retrocomputing.net
A2 SISTEMI                  Http : 
www.retrocomputing.net
Via Costantino Perazzi 22   Tel 0321 640149
28100 NOVARA (NO) - ITALY   Fax 0321 391769

 Ciao.Alberto.
Buona Fortuna.
-- 
Posted from [194.214.173.28] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

visto che qui si parla di C++.
Chiedo scusa allora, mi sono lasciato ingannare da alcuni post
precedenti, evidentemente OT. 
Le mie scuse a tutti per il disturbo arrecato.


Se l'inglese non ti spaventa puoi provare a chiedere sui newsgroup della
gerarchia borland.public.cppbuilder.*, che sono serviti dal server
newsgroups.borland.com
. In teoria puoi scrivere anche in italiano, ma e'
ovviamente piu' difficile che qualcuno ti risponda.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Ottenere la subnet mask in VISUAL C 6.0

Salve a tutti.
Avrei bisogno di ottenere la subnet mask in ambienti windows 98, NT, 2000,
XP, so che bisogna accedere al registro interrogando diverse chiavi che
variano a seconda del sistema operativo, qualcuno sa se c'č un metodo piů
veloce?? (magari scaricando una classe fatta su misura...)
thanx daniele

 so che bisogna accedere al registro interrogando diverse chiavi che
Cos'è un registro? Cos'è una chiave?
Se comprendi che non sappiamo rispondere a queste domande, sei sulla strada 
giusta per capire che hai sbagliato NG. :-)
Passa su it.comp.programmare.win32 e... in bocca al lupo!
-- 
---
*************** | Have you ever retired a human by mystake?
*** Azathot *** |
*************** | To contact me, ask me gently. Thanks.
Newsgroup: it.comp.lang.c++
Titolo: [OT] Ordinamento files

Cari amici, scusate l'OT: qualcuno conosce un utility per il DOS di W95
che consenta di spostare l'ordine dei files nella directory come
permetteva la vecchia Norton DirSort con le versioni precedenti del DOS?
Ciao a tutti.
EMG

...


 appositi parametri.
No, non mi sono spiegato: io vorrei un utility che mi permetta di
mettere i files nell'ordine che dico io e non alfabetico, per data, etc.
Chiaro?
EMG

Scusa la curiosita' ma a che ti serve ?
Zec.

Newsgroup: it.comp.lang.c++
Titolo: [?] Documentazione STL

Ciao a tutti.
Ho da un paio di giorni deciso di riprendere in mano il C++.... e mi
sono accorto che sono antico!! :((
Non e' che percaso qualcuno di voi saprebbe indirizzarmi verso della
buona documentazione sulla STL?
Ciao e grazie in anticipo!
Luca Menegotto
PS: Se volete rispondermi (guarda il sito di Eckel), l'ho gia'
guardato e ho gia' scaricato il manuale...

 wrote in message
37f234e...@news.nettuno.it...

Prova l'ultima edizione di B. Stroustrup di "Programmare in C++"
(nelle prime edizioni non c'era la parte di STL)
L'ho vista in inglese e mi sembra fatta abbastanza bene.
Anche in MSDN c'e' la descrizione di STL, ma e' abbastanza disorganizzata.

Se non ricordo male trovi qualcosa su
http://www.developer.com/reference/r_library.html
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

Prova su
http://www.sgi.com/Technology/STL/
Ciao,
Nicola Musatti

Newsgroup: it.comp.lang.c++
Titolo: Linked List

Ciao ragazzi,
 due domande dovo posso trovare un tutorial, magari in italiano che mi
spieghi questa tecnica?
 Voi sapete dirmi dove si può applicare e che vantaggi può offrire (può
essere applicata anche ad un gestionale aziendale?)
Ciao e grazie a tutti
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

essere applicata anche ad un gestionale aziendale?)
E' semplicemente una struttura di dati sequenziale, i cui componenti sono
omogenei.
-- 
"Con questo cosa voglio dire? Non lo so. Pero' c'ho ragione."
(Palmiro Cangini)
Newsgroup: it.comp.lang.c++
Titolo: dimensionare dinamicamente una matrice bidimensionale

Salve a tutti
ho bisogno di sapere come poter ridimensionare una matrice bidimensionale
durante l'esecuzione del programma
es:
se dichiaro una matrice di caratteri bidimensionale
char MAT [][]
solo durante l'esecuzione vengo a conoscenza delle dimensioni della matrice
e quindi voglio dimensionarla
come posso fare?
Un grazie di cuore a chiunque possa darmi un suggerimento
Maurizio
hil...@tin.it

Folgorato da brillante idea, Maurizio ha scritto il 16 Dec 2002 
(news:lAqL9.21691$
TC5.7...@twister1.libero.it
): 

In C, ti dichiari MAT come un puntatore a puntatore char, e poi
una volta che conosci le dimensioni m x n fai e allochi
m*n*sizeof(char) bytes con la funzione malloc.
In C++ la strategia è la stessa, solo che la inserisci nel costruttore
ed allochi la memoria con l'operatore new
-- 
"Non mi piace il football, sta troppo ovunque: secondo me, l'eccesso di
calcio va a discapito del fosforo." (Marc 'O Chivec)
http://www.geocities.com/fabienstein

Newsgroup: it.comp.lang.c++
Titolo: ERROR_INVALID_HANDLE solo in dll non in exe

Il codice qui sotto mi funziona perfettamente se lo compilo come exe.
Se invece lo compilo come dll SetupDiEnumDeviceInfo mi da un Error 6 
ERROR_INVALID_HANDLE.
Mi sapete suggerire qualcosa da indagare per trovarne il motivo?
 
BOOL DisableInterface() {
DWORD i;
HDEVINFO hDevInfo;
SP_DEVINFO_DATA spDevInfoData ;
hDevInfo=(HDEVINFO) SetupDiGetClassDevsW(NULL, NULL, NULL, 
DIGCF_ALLCLASSES | DIGCF_PRESENT);
if(hDevInfo == INVALID_HANDLE_VALUE){
	if(dbg) wprintf(L"error");
	return FALSE;
}
spDevInfoData.cbSize=sizeof(SP_DEVINFO_DATA);
SetupDiEnumDeviceInfo(hDevInfo, 0, &spDevInfoData);
wprintf(L"Error: %d", GetLastError());
i=GetLastError();
if(i == 0) {
	MessageBoxW(NULL, L"WORK!", L"OK", MB_OK);
}else{
	MessageBoxW(NULL, L"FAIL!", L"KO", MB_OK);
}
return i;
}


SetupDiEnumDeviceInfo ritorna un bool
prima devi testare il bool poi vedi GetLastError()
Non so se la causa e' questa,ma comunque questo e' un errore.
 


il problema non è quello il GetLastError() è sincronizzato col bool di 
return:
 
BOOL ret=SetupDiEnumDeviceInfo(hDevInfo, 0, &spDevInfoData);
i=GetLastError();
wprintf(L"Error: %d %d", i, ret);
if(ret==1 && i == 0) {
...
 

Ho controllato meglio.
In effetti funziona anche da dll chiamata da un exe C.
Non funziona quando lo chiamo da autoit3:
Dim $a=dllCall("test.dll", "DWORD:cdecl", "hdstatus")


No,GetLasterror() lo devi usare solo se ret e' false (che significa errore)
Newsgroup: it.comp.lang.c++
Titolo: Funzione sleep()

Salve a tutti. Ho bisogno di utilizzare in ambiente Windows la funzione
sleep() che in ambiente Linux è presente nell'include <unistd.h>. Utilizzo
come compilatore Dev-cpp e ho visto che nell'analogo include fornito con
esso non è più presente questa funzione. Quale funzione devo utilizzare?


windows.h
Sleep(int ms);
Da notare che Linux usa sleep(int ms); (minuscolo) e Winblows usa 
Sleep(int ms); (maiuscolo). Quindi per portabilita' consiglio:
[code]
#ifdef WIN32
#include <windows.h>
#define sleep(x) Sleep(x)
#else
#include <unistd.h>
#endif
[/code]

 ha scritto nel messaggio
news:415d9c61$0$23955$5402...@news.sunrise.ch...


>#define sleep(x) Sleep(x)
Mille come le volte che dureranno in meno le tue attese se fai questo :)
Meglio fare
#define sleep(x) Sleep(x * 1000)
Quella di unix e' in secondi, quella di windows in msec :)
Bye,
  Gabry



 #define sleep(x) Sleep(x * 1000)
Poi prova a fare
  sleep(2+2);
In C++ per queste cose ci sono le funzioni:
  void sleep(unsigned int seconds) 
  {
    Sleep(seconds * 1000);
  }
        Mauro

Newsgroup: it.comp.lang.c++
Titolo: Somma di un numero a una data

Ciao a tutti,
devo sommare un numero intero a una data di tipo string e nel seguente 
formato AAAAMMGG.
Come posso fare?

Hai ragione, l'unità di misura era giorni.
Ma non ti preoccupare ho risolto il problema!!!
Grazie comunque.
"Soviet_Mario" <Sov...@MIR.CCCP> ha scritto nel messaggio 
news:D%PYe.16379$Jr.2...@twister2.libero.it...


Newsgroup: it.comp.lang.c++
Titolo: colore menu

volevo creare una dll per cambiare il colore di fondo del menu,
me la compila correttamente, ma non mi funziona :(
ecco il codice:
#include <windows.h>
#define WINEXPORT extern "C" __declspec (dllexport)
// questa funzione cambia il colore del menu
WINEXPORT int TestMenu(HWND hHWnd, int cR, int cG, int cB)
{
 MENUINFO tMI;
 LOGBRUSH lbBrushInfo;
 long ret;
 HBRUSH myBrush;
 lbBrushInfo.lbStyle = 0;// BS_SOLID;
 lbBrushInfo.lbColor = RGB(cR,cG,cB);
 lbBrushInfo.lbHatch = 0;
 myBrush = CreateBrushIndirect(&lbBrushInfo);
    tMI.cbSize = sizeof(tMI);
 ret=GetMenuInfo(GetMenu(hHWnd), &tMI);
    //tMI.cbSize = sizeof(tMI);
    tMI.fMask = MIIM_ID | MIIM_SUBMENU | MIIM_TYPE;
 tMI.hbrBack = myBrush;
    ret=SetMenuInfo(GetMenu(hHWnd), &tMI);
 return 0;
}
dove sbaglio ?

Roberto wrote:

Apprezziamo il fatto che ti sia corretto, ma dovresti beccare anche il 
ng giusto, qui si parla *solo* di C++ Standard, e questo qui sopra non lo è.
Su
it.comp.programmare.win32
troverai sicuramente chi ti sa rispondere in maniera esatta.
Ciao!

 dove sbaglio ?
A postare su it.comp.lang.c++, dove si tratta di C++ standard e non di
aspetti di piattaforme specifiche (e piu' in generale a postare su un
newsgroup senza averne letto il manifesto). Spostati su
it.comp.programmare.win32 .
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: rottura

mi si č rotta la pompa della benzina della mia ford escort dopo 94000. Il 
ricambio originale ford č costato 245+iva.
(pompa + sensore riserva (galleggiante)
Costano cosi cari o ho pagato troppo?
L' officina era di assistenza ford ufficiale.
beppe 

 ricambio originale ford è costato 245+iva.


Newsgroup: it.comp.lang.c++
Titolo: Compilatori visuali free???

Lo so che e` chiedere troppo, ma non si sa mai.
Ne esistono?
Qualcuno sa qualche cosa?
Ciao, Michele.

Qualcuno sa qualche cosa?
Per che sistema operativo?
Per win:
C++Builder 1
Delphi 1
Per Linux:
VDKBuilder 
http://www.guest.net/homepages/mmotta/vdkbuilder/
(attualmente poco usabile, ma funziona)
Glade (
http://glade.pn.org
)
(piu' creatore di interfacce che altro)
--
(o-  T | If Bill Gate$ had a nickel for every time window$ crashed...
//\  U | 
V_/_ X | ...oh wait, he does...
email: r.salmaso (at) 
flashnet.it
 | pinguin (at)
linuxfan.com

Delphi 1
Ma questi 2 che dici sono free nel senso che posso usarli
per vendere i miei prodotti o solo per scopo privato???
Ciao, Michele.

per vendere i miei prodotti o solo per scopo privato???
Non ne ho idea, credo di si (piu' che altro non li uso). Sono cmq
versoni standard, cioe' decisamente castrate nei componenti. Ti devi
sbattere per cercarne di nuovi sulla rete (o te li scrivi).
Delphi 1 l'ho trovato su DEV di dicembre, mentre C++ Builder su CP di
gennaio.
--
(o-  T | If Bill Gate$ had a nickel for every time window$ crashed...
//\  U | ... oh, wait, he does...
V_/_ X | email: r.salmaso (at) 
flashnet.it
 | pinguin (at)
linuxfan.com
VDK 
http://www.guest.net/homepages/mmotta/VDKHome
VDKBuilder 
http://www.guest.net/homepages/mmotta/vdkbuilder
Newsgroup: it.comp.lang.c++
Titolo: gestione delle directory

ciao!
qualcuno sa dirmi l'equivalente dei comandi C
findfirst,findnext,chdir,fnmerge e fnsplit in C++? magari sono uguali ma in
C usavo il file d'intestazione dir.h, che in c++ non c'e'!!!!
grazie in anticipo
davide

 C usavo il file d'intestazione dir.h, che in c++ non c'e'!!!!
...sotto che sistema operativo ?
Massimo

ops.. windows

 davide
Ci sono delle funzioni non Standard C++ ma che sono
POSIX.
L'header è dirent.h (ed è presente nel compilatore della
Borland).
Ecco un esempio (preso dall'help in linea):
/* opendir.c - test opendir(), readdir(), closedir() */
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
void scandir(char *dirname)
{
   DIR *dir;
   struct dirent *ent;
   printf("First pass on '%s':\n",dirname);
   if ((dir = opendir(dirname)) == NULL)
   {
     perror("Unable to open directory");
     exit(1);
   }
   while ((ent = readdir(dir)) != NULL)
     printf("%s\n",ent->d_name);
   printf("Second pass on '%s':\n",dirname);
   rewinddir(dir);
   while ((ent = readdir(dir)) != NULL)
     printf("%s\n",ent->d_name);
   if (closedir(dir) != 0)
     perror("Unable to close directory");
}
void main(int argc,char *argv[])
{
   if (argc != 2)
   {
     printf("usage: opendir dirname\n");
     exit(1);
   }
   scandir(argv[1]);
   exit(0);
}
Manlio Perillo

C usavo il file d'intestazione dir.h, che in c++ non c'e'!!!!
Eccome se c'é.
Il Ghenio
-----------
LOVELY SARA
Dal lunedi'al venerdi'su Italia Uno alle 8:10
Non perdetevelo...
-----------

Newsgroup: it.comp.lang.c++
Titolo: Primi passi: ricerca di un valore in un vettore

Se metto come valore da cercare
quello che si trova all'indice [0]
il programma mi da' "non trovato"
esempio, ponendo v[0]=1.2 e poi
dando come elemento da cercare
1.2 il programma mi da' "non trovato"
Dove sto sbagliando? Grazie
#include <iostream.h>
#include <stdlib.h>
int main()
{
  const int dim = 5;
  typedef float vettore[dim];
  vettore v;
  int j;
  float x, min;
  bool trovato;
  for (j=0; j<=dim; j++) {
    cout << "v[" << j << "]: ";
    cin >> v[j];
    }
  cout << "Quale valore cercare? : ";
  cin >> x;
  trovato = false;
  j=0;
  while (!trovato && (j<=dim)) {
    j = j + 1;
    trovato = (x==v[j]);
    }
  if (trovato)
     cout << "Il valore " << x << " si trova all'indice " << j <<
endl;
   else
     cout << "Il valore " << x << " non e\' stato trovato" << endl;
      system("PAUSE");
      return 0;
}

     }
beh, se incrementi j prima di usarlo, allora
cominci a fare i confronti per j=1 invece che per j=0...
ciao,
g.

cominci a fare i confronti per j=1 invece che per j=0...
infatti...non ci avevo pensato
eppure l'avevo copiato pari pari da
un testo...
grazie
ciao
Newsgroup: it.comp.lang.c++
Titolo: errori di allocazione di memoria per vettori

salve,
vlendo utilizzare l'allocazione dinamica attraverso i vettori
e avendo a che fare con vettore di grandi dimensioni, vorrei sapere
come capire quando incorro in un problema di allocazione di memoria.
esiste una struttura try-catch apposita?
Massimo

"massimo" ha scritto nel messaggio

La domanda non è chiarissima... (vieni dal java? :-) )
Comunque ri consiglio di guardarti lo std::vector
( #include <vector> )
o agli altri contenitori dello standard c++ che dovrebbero fare
al caso tuo.
ciao
-- 
Gerolamo

 
la domanda è chiarissima:
quale è l'eccezione che viene sollevata quando non si riesce a creare un 
vettore (causa per esempio mancanza di memoria sufficiente) ?
-- 
Hai recensioni nel cassetto di musica, cinema, letteratura,fumetti??
Ascolta e pentiti e se hai tempo vergognati
http://tonysuper.altervista.org

 sufficiente) ?
La new solleva una std::bad_alloc
Rimane a mio avviso valido il suggerimento di usare std::vector
con un uso accorto delle funzioni max_size(), size(), e reserve().
Nel caso si ritenga di dover controllare con le eccezioni anche
il vector, allora basta sapere che l'allocatore predefinito usa anch'esso
la new per allocare memoria, ed anch'esso lancia una std::bad_alloc
nel caso non ci sia piů spazio disponibile.
-- 
Gerolamo

 Visto che per te era chiarissima, potevi anche rispondere...
se avessi saputo  la risposta ... :-D


 vettore (causa per esempio mancanza di memoria sufficiente) ?
bad_alloc

Newsgroup: it.comp.lang.c++
Titolo: Selezionare un file dalla finestra apri

Ho bisogno di aprire la solita finestra "APRI" di windows, l'utente
seleziona il file, e quando chiude la finestra io ottengo in una variabile
il nome del file selezionato.
Con VB vi era l'OCX e con VC?
Grazie in anticipo MARCO.

 il nome del file selezionato.
Un newsgroup su win32 forse sarebbe più adatto, comunque una soluzione si
avvale della API GetOpenFileName, che sicuramente è incapsulata anche dalle
MFC (cercare, cercare! ;) )
Comunque se intanto ti accontenti di programmare in C, va detto che la API in
esame prende l'indirizzo a una struttura OPENFILENAME, che permette di
impostare parecchie opzioni per personalizzare il controllo Open, come ad
esempio la lista delle estensioni ammissibili.
L'help di qualsiasi compilatore Win32 riporta comunque tutte le specifiche che
ti servono.
Saluti.
Roberto Cavada
Newsgroup: it.comp.lang.c++
Titolo: Ruotare un'ellisse con la GDI

Ho disegnato un'ellisse tramite la GDI, vorrei ruotarla nel piano di un
angolo qualsiasi.
Qualcuno sa dirmi come fare?
Grazie, Angelo.

 Qualcuno sa dirmi come fare?
Ruotarla dopo averla disegnata equivale a ruotare una bitmap, e allora o lo
fai "alla buona" sfruttando qualche semplice formuletta coi seni e coseni,
oppure lo fai "alla grande" con anti-alias & co. (un lavoraccio però!)
Sicuramente più semplice è ri-disegnarla ruotata: in questo caso ti conviene
procurarti un algoritmo che disegni le ellissi normali (non ruotate) e
inserirci in mezzo una formula di rotazione del piano cartesiano.
TobiX

Questo vuol dire che devo disegnarla come un insieme di rette e non
utilizzando la funzione ellipse del CDC ?
Angelo
TobiX ha scritto:


 utilizzando la funzione ellipse del CDC ?
esatto
beh, più precisamente tu disegni una serie di punti (forniti dall'algoritmo)
o comunque una serie di segmenti congiungenti ognuno un punto con il
successivo
TobiX

Newsgroup: it.comp.lang.c++
Titolo: c++ o c#

Sono nuovo del mondo della programmazzione, per il momento so solo il PHP...
Volevo iiniziare imparando il c++ ma leggendo qualche articolo ho visto che
il c#(da quello ke dikono simile al c++) è più versatile, specialmente per
il settore internet(mio campo).
Volevo sapere quale è il migliore per voi e quale è il migliore per
iniziare?
Grazie
  Silvio

 iniziare?
Bella domanda... considera che il C++ e' portabile su tutte le piattaforme
senza grossi patemi d'animo, C# no[1].
Comunque, il PHP rimane imbattibile per le Web application, IMHO.
*** Azimuth ***
[1] Esiste un progetto, Mono, pero' di piu' nin zo'.

 ha scritto

Dipende cosa intendi con "settore internet".
Di sicuro al momento il C++ e' piu' standard, maturo e portabile su
varie piattaforme.
Comunque per le web applications ritengo migliori linguaggi come il PHP
o le JSP (Java server pages), anche se queste ultime non le ho mai usate
personalmente.
Tra le cose da non cosiderare: ASP, e' una schifezza!
--
Roal Zanazzi
Newsgroup: it.comp.lang.c++
Titolo: x Roberto Corti

Ciao sono Andrea, ti ringrazio in via ufficiosa su questo NG per
l'attenzione che hai posto alla mia richiesta.
Ciao da Andrea.


Ciao,
figurati, mi spiace di non averti potuto mandare anche l'altro "oggetto".
Ciao
--
Corti Roberto
Amministratore di rete
rco...@NOSPAMtinet.ch
:-) rimuovi NOSPAM per rispondere :-)

Newsgroup: it.comp.lang.c++
Titolo: - SDK -

Ciao,dove posso trovare le SDK-DXxx con l'help per programmare?
Grazie
Niccolo'

Ciao,dove posso trovare le SDK-DXxx con l'help per programmare?
Sul sito della Microsoft ma sono centinaia di mega da scaricare. Ti conviene
aspettare che qualche rivista, come IoProgrammo, lo pubblichi nel suo CD.
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: Compilazione con Visual C

Ragazzi...qualcuno sa cosa significa l'avviso "Error spawning cl.exe" in
fase di compilazione?
Aiutoooooooooooooo
Damiani "Bromarock" Omar

 fase di compilazione?
Credo sia piu' o meno l'equivalente di: "please reinstall the compiler".
Sempre che tu non stia lavorando a linea di comando senza aver settato i vari
parametri di ambiente.
Verifica che esiste cl.exe e che sia nel path.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

Newsgroup: it.comp.lang.c++
Titolo: Valore di ritorno e possibili errori

Salve,
Ammettiamo che io abbia un metodo di una classe cosi' definito :
Object& getObjectById(int numID)
Il metodo analizza tutti gli elementi di una lista per trovare l'id e
nel caso viene trovato ritorna un riferimento all'oggetto, ora il mio
problema e' come mi devo comportare se non viene trovato l'id, che
tipo di valore devo ritornare senza usare la sequenza try-catch?
Come posso modificare il tutto per renderlo funzionale?
Ciao e grazie.

Come posso modificare il tutto per renderlo funzionale?
Restituisci un puntatore anziché un reference.
Se NULL l'elemento non č stato trovato.

 Se NULL l'elemento non è stato trovato.
Si grazie mille :)
Newsgroup: it.comp.lang.c++
Titolo: funzione power.

Per utilizzare la funzione power() oltre a includere math.h, cosa devo fare?
Questo programma da errore.
#include <iostream>
#include <math.h>
int main () {
std::cout << power (2, 5);
return 0;
}
Grazie

 }
Domenico Barra

Newsgroup: it.comp.lang.c++
Titolo: Voglio diventare un bravo programmatore!! 8) Presentazione

Salve a tutti!Sono un nuovo arrivato di questo newsgroup,in cerca di nuove
conoscenze e approfondimenti verso il linguaggio C++. Spinto dal sogno di
diventare un giorno un abile programmatore (lo spirito giusto e la volontà
ci sono!) vi chiedo di aiutarmi a superare le numerose difficoltà che
incontrerò durante la mia esperienza(qualche piccolo aiuto insomma!).Sono un
totale neofita di C++,ma come attrezzatura ho acquistato "C++ Corso di
programmazione"di Lippman (su consiglio vostro) e come compilatore uso il
Dev-C++ 4. Sto partendo con il piede giusto?Gradirei sapere i vostri
pareri!!Un primo quesito:il simbolo "!=" significa per caso "diverso da"?
Grazie 1000 a tutti x l'aiuto che spero di ricevere!
Un saluto da Magogeta!

 Un saluto da Magogeta!
Ricambio.
---
Ramses
---
http://evilz0ne.cjb.net
http://knowledgeparty.cjb.net

La tua missiva sa di burla...
Mi ci scommetterei le palle, che soffri di manie di megalomania.
Ci ho azzeccato?
--
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                           Giovanni Ceglia
                WebMaster & WebDesigner
 
http://www.xungame.com/
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 wrote in message
9hdi37$ald$1...@nreadB.inwind.it...


 programmazione"di Lippman (su consiglio vostro
E' probabilmente il miglior libro di C++, ma se sei a digiuno totale e'
probabile che sia un pochino difficile .
Alex

Newsgroup: it.comp.lang.c++
Titolo: Funzione per eseguire comandi Windows

Per C++Builder3.0
Esiste una funzione tipo ShellExecute() del VB che esegua comandi in linea
al DOS oppure ancora meglio una funzione di questo tipo Shell("file.txt")
apre file.txt con la sua applicazione ad esempio Notepad...
Grazie Mille !


Esiste sě. Cerca le funzioni relative alla shell nell'help delle API di windows
Borland C++ Builder->MS HELP->Win 32 SDK nel meniu Avvio.
Carlo Pellegrini
### Remove NOSPAMPLEASE to answer ###

...


nell'help, ma non funzia.
Come ???
Non serve !!
Non è necessario definire alcuna funzione nè alcuna struttura. Sono infatti già
definite negli header inclusi nel tuo progetto (se usi vcl), oppure includi
l'header che l'help ti suggerisce.
Per il testo, non mi sovviene alcun titolo :-(

Newsgroup: it.comp.lang.c++
Titolo: Help 4 C++!

Salve a tutti nel ng, sono nuovo da queste parti e vorrei chiedervi se
sapete consigliarmi un buon manuale in italiano per c++ e magari il sito
dove trovarlo.
Grazie anticipatamente
Marco
--
****************************************************************************
***********
"Nelle tenebre a lungo , gli occhi fissi in profondo,
stupefatto, impaurito sognai sogni che mai
si era osato sognare: ma nessuno violň
quel silenzio e soltanto una voce, la mia,
bisbigliň la parola << Lenore >> e un'eco rispose: <<Lenore >>.
                                                              Solo questo e
nulla piů.
                                                   Edgar Allan Poe -  The
Raven
______________________________________________________________
Marco Zobel     -     Philosophus
Sito Internet: 
www.secondae.cjb.net
ICQ = 70390430

 dove trovarlo.
www.programmazione.it
Autore: Paolo Marotta.
Più in là spendi £.89000 e compri il libro di B.Stroustrup "C++, linguaggio,
libreria standard, principi di programmazione 3^ edizione". Editore
Addison-Wesley.
Domenico Barra

dove trovarlo.
Esiste la traduzione di "C++ Primer" di Stanley B. Lippman e Josee
Lajoie. Superbo, aggiungo io.
--
Andrea Laforgia (ICQ 87230455)
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

Newsgroup: it.comp.lang.c++
Titolo: Librerie TCP-IP per DOS

Ciao,
vorrei sapere se esistono librerie per il TCP-IP in ambiente DOS
(possibilmente free).
 
Ringrazio anticipatamente.
     o===o        Filippo Salotti, Bagni di Lucca, Lucca, Italy.
    j$    %  _                  E-mail : 
fil...@humnet.unipi.it
   j$      O<_================================================o
 .oHHo.        $ Studente Ingegneria Informatica Automatica   $
OHXXXXHO       $ Dip. Sistemi Elettrici Universita' di Pisa.  $

Cerca in giro per Wattcp, funzionano anche se sono abbastanza differenti
dallo standard unix per i socket, inoltre hanno il difetto di non avere
la documentazione gratis  ma, almeno ci sono.
Marco
Newsgroup: it.comp.lang.c++
Titolo: Drag di una finestra

Con il Borland BuilderC++ 4 vorrei implementare la possibilità di
spostare una finestra cliccando in un punto qualsiasi dell'area della
finestra e trascinandola con il mouse (come fa WinAmp, per
intendersi). Come posso fare? Non so se sono riuscito a spiegarmi:
vorrei in pratica che l'area della finestra avesse le stesse proprietà
della barra del titolo. E' possibile?
Topoldo
(Grazie a Dio, sono ateo)

Windows effettua il dragging di una finestra monitorando i clicks sulle aree
Non Client della finestra. Per draggare una finestra utilizzando la Client
area dobbiamo far credere a windows che il click (o Hit) è avvenuto
sull'area Non Client, creando un gestore personalizzato per l'evento Non
Client Area Hit di Windows:
Aggiungi il seguente testo nella sezione private della classe TForm1:
void __fastcall WMNCHitTest(TMessage &Msg);
così ti crei il tuo gestore per l'evento Hit sull'area Non Client.
Aggiungi il seguente testo dopo la sezione Public della classe TForm1:
BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(WM_NCHITTEST,TMessage,WMNCHitTest)
END_MESSAGE_MAP(TForm)
Per creare il "Message Cracker" del Messaggio WM_NCHITTEST.
La funzione:
void __fastcall TForm1::WMNCHitTest(TMessage &Msg) {
    if (GetAsyncKeyState(VK_LBUTTON)<0)            // Se è premuto il
Bottone Sx del Mouse
        Msg.Result = HTCAPTION;                                // Allora
abbiamo premuto sulla Caption
    else
        Msg.Result = HTCLIENT;                                    //
Altrimenti abbiamo premuto altrove
}
In questo modo quando premiamo con il tasto sinistro del mouse nella
finestra, windows penserà che abbiamo premuto sulla Caption; siccome la
caption permette il Dragging, se spostiamo il mouse senza rilasciare il
Bottone, windows sposterà la finestra.
Ti ricordo che GetAsyncKeyState è un'API di windows che ci permette, in ogni
istante, di sapere se abbiamo premuto tasti sul mouse o sulla tastiera.


Grazie, eh! Posso fare il tuo nome ringraziarti nell'help del
programma su cui stavo lavorando? 
PS. Perchè non metti a posto il tuo Autluc? E' un bel po' scomodo
stare a cercare le risposte che posti, perchè Autluc usa R: invece di
Re:,e i newsclient non sistemano i tuoi post nel thread giusto. In
giro per la rete c'è una patch a questo noto problema di Outlook.
Grazie! :))
Newsgroup: it.comp.lang.c++
Titolo: Compilare applicazione

Salve a tutti.
Ho un programma in file sorgeti. Lo devo compilare.
Ma come faccio ad aprirlo col compilatore?
Voglio dire, mica posso mettermi ad aprire i file .cpp uno ad uno! Ci sarà
un file da aprire che li apre tutti a sua volta! Mica è quello .rc?
Come fare?
Ah! Ho Visual C++ 6.0 SP5

Se ho capito quello che ti serve è un makefile cioè un file che contiene
delle istruzioni per il compilatore così che sappia cosa fare dei vari
sorgenti cpp e li compili opportunamente. Il problema è che i makefile non
sono standard! se tu usassi unix/linux quasi certamente avresti Gnu make e
un file che si chiama appunto makefile nella directory con i sorgenti, ma tu
hai Visual C++ quiandi dovresti cercare un file con estensione .mak o ancor
meglio .dsw che è il file di progetto di Visual C++. Devi controllare e
sperare che i sorgenti che hai siano stati fatti con visual C++ in caso
contrario ti scarichi qualche compilatore unix like tipo djgpp o cygwin(che
è un emulatore unix)
Ciao
Wezzy

Newsgroup: it.comp.lang.c++
Titolo: Novellino in cerca di manuali

Salve,
sono alle prime armi con la programmazione e volevo sapere se conoscete
alcuni siti dove posso trovare da scaricare gratuitamente un manuale per il
C++, l'importante è che sia in italiano e possibilmente facile.
Senno consigliatemi qualche titolo di qualche manuale facile ed intuitivo.
Grazie di aver letto questo messaggio.
aman...@ftbcc.it

 Senno consigliatemi qualche titolo di qualche manuale facile ed
intuitivo.
Crivellari, C++.E' un buon libro per chi comincia.
Newsgroup: it.comp.lang.c++
Titolo: Funzioni virtuali

scusate ragazzi sono nuove di c++ (ho iniziato a studiarlo da 1 settimana)
e spero che questo NG sia anche per i neofiti e non solo per
espertoni....!!!
Volevo chiedere cosa vuol dire dichiarare una funzione virtuale...del tipo
virtual& int NomeFunzione (int a, char b){
       corpo della funzione
}
Grazie

 virtual& int NomeFunzione (int a, char b){
  ^^^^^^^^^^
virtual int& NomeFunzione(int a, char b);
Una funzione virtuale (puň essere solo membro di una classe: in pratica come
l'hai scritta non ha senso: meglio
class MyClass {
//..........
public:
virtual int& MyFunc(int a, char b)
//...........
};
)
consente di ottenere dagli oggetti C++ un comportamento polimorfico.
Se vuoi si puň anche dire molto di piů, ma dubito che mi capiresti... forse
č meglio se consulti prima il tuo manuale, poi ti rivolgi a noi per
eventuali chiarimenti.
Ciao
Domenico Barra

Volevo chiedere cosa vuol dire dichiarare una funzione virtuale...
Le funzioni virtuali servono a stabilire a priori che gli oggetti
derivati da una certa classe potranno, in certe circostanze, assumere
comportamenti diversi a seconda del loro tipo reale.
-- 
Andrea Laforgia (ICQ# 87230455) --------------------------
Non scrivetemi in privato, se non richiesto espressamente.
No replies in private e-mail, unless explicitly requested.
----------------------------------------------------------

 Volevo chiedere cosa vuol dire dichiarare una funzione virtuale...del tipo
In pratica dichiarare una funzione virtuale significa,specificare un
comportamento peculiare di una classe derivata da una classe base,quindi
quando si accedera' al metodo di tale classe dichiarato virtuale, verra
eseguita la versione definita nella classe stessa, e non quella definita(se
non virtuale pura) dalla classe base;
se invece la classe derivata non definisce il corpo di tale funzione verra'
eseguita la versione della prima classe base precedente in ordine di
derivazione che definisce tale funzione.
--
Ivan Molella
__LINUX__ the choice of the __GNU__ generation
icq# 97960484

non virtuale pura) dalla classe base;
Non e' molto preciso.
Il comportamento polimorfico si ottiene solo quando entrano in gioco
puntatori e reference. In generale non e' cosi'.
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>


Hai ragione, non sono stato preciso tralasciando il tale cosa,(non da poco :) )


 }
Una funzione viene dichiarata virtuale per poter implementare il
polimorfismo.
Il polimorfismo può essere chiarito così: " E' l' oggetto di destinazione
che seleziona il metodo al momento dell 'esecuzione"
In C++ il polimorfismo viene implementato tramite funzioni virtuali che
usano un puntatore alla classe base per specificare l' oggetto di
destinazione.
Normalmente nel codice si 1) fa puntare un puntatore (alla classe base)
verso un oggetto e 2)  si esegue una chiamata a una funzione virtuale
utilizzando il puntatore stesso.E' l' oggetto specificato dal puntatore a
determinare la funzione virtuale da eseguire.
Il meccanismo con il quale il C++ sceglie la funzione virtuale e' chiamato
binding run-time.
Newsgroup: it.comp.lang.c++
Titolo: Ancora warning...

unsigned int A;
long B;
A=B;
Mi genera puntualmente il simpaticissimo "Conversion may lose significant
digits".
Ponendo a priori di non superare per B la soglia di 65535 tramite altri
controlli, come procedere per farlo stare zittino?

 controlli, come procedere per farlo stare zittino?
Dipende dal compilatore, comunque e` normale avere un #pragma
per chiedergli di non emettere piu` un dato warning.
A seconda del tuo compilatore, puo` darsi che un costrutto:
    A=static_cast<unsigned int>(B);
lo taciti, visto che in generale un cast significa "so esattamente
quel che sto facendo, compilatore, obbedisci e taci!".  Pero` non
e` scritto da nessuna parte nello standard che un compilatore
_debba_ evitare i warning in questo caso, puoi solo provarci.
Alex

 controlli, come procedere per farlo stare zittino?
Con un cast? Non posso controllare in quanto il DJGPP non lo dà. Prova
A = ( unsigned int ) B;
EMG

 Con un cast? Non posso controllare in quanto il DJGPP non lo dà. Prova
Hai provato con -Wall -pedantic...?  Una volta, con quelli ti "warnava"
anche se avevi usato un font poco elegante nell'ultima stampa del tuo
programma, o quasi...:-).
Alex

 programma, o quasi...:-).
Si. Ci metto -ansi -pedantic e - Wall ma quel warning particolare non me
lo dà. Lo ottengo però se il target dell'assegnazione è un float o un
double.
EMG

Ho provato, e non funziona con entrambi i metodi.
Grazie comunque.
Per la cronaca, se può interessare, per questo applicativo ho usato Borland
C++ Builder 1.0
Comunque toccherà adattarsi, in fin dei conti il compilatore in questo caso
ha ragione:
Io dichiaro B come unsigned int, (per cause di forza maggiore), e mi va
bene, in quanto presumo che nemmeno A debba mai superare la soglia dei
65.000, anche se potenzialmente potrebbe.
Ma se mi sta bene B come uns. int, deve per forza starmi bene anche A,
(almeno nel mio caso).
Quindi, non mi piace, ma dichiarerò anche A come uns. int.
Ciao

Newsgroup: it.comp.lang.c++
Titolo: std does not exist or is not a namespace???

Come mai se aggiungo (per opportuni motivi) in un main.cpp, parte di un
workspace, la riga "using namespace std;"
il visual c++ mi da' il seguente errore?
error C2871: 'std' : does not exist or is not a namespace 
Error executing cl.exe.
Devo chiedere al compilatore qualcosa (sempre di opportuno)?
Grazie per l'attenzione
-- 
Ciao,
Andrea (uno dei tanti)

 Error executing cl.exe.
Probabilmente non hai incluso alcun header che contenga una definizione del
namespace std , e quindi il compilatore non riconosce quel namespace e per
lui non ha senso che tu lo "usi", visto che non esiste.
Dovresti includere almeno un header della libreria standard (di quelli senza
.h)

Dovresti includere almeno un header della libreria standard (di quelli senza .h)
Grazie innanzitutto per la veloce risposta!
La necessita' era per l'uso di vector.
Dopo qualche tentativo ho trovato il contenitore corretto:
#include <vector>
