Newsgroup: it.comp.lang.c++
Titolo: Compilatore quale?

ciao a tutti mi sono tuffato da pochissimo nel c e nel c++, sto leggendo
seimila tutoria guide e altra roba, quello che vi chiedo e': qualle
compilatore mi consigliate per c++? borland, visula c++, djgpp2, lccwin32 o
qualche altro?
grazie!
ora che scrivo mi č sotro un dubbio ma un compilatore per c++ va bene anche
per c? (che domande del cacchio che faccio!)

 wrote in message
8g1qul$tus$1...@lacerta.tiscalinet.it...


 dal sito 
http://www.bloodshed.nu/
Scusa, questo Dev-C++ come sta ad aderenza allo standard, specialmente
per quanto riguarda le librerie relative?
EMG

Ma figurati se me la prendo ....
Saluti


Quando si riportano degli errori si dovrebbe indicare la versione del
compilatore, soprattutto in questo caso in cui il Dev-C++ non è altro che
una ide per il compilatore mingw che è uno dei tanti  porting sotto windows
del gcc. Quindi gli errori di questo compilatore si dovrebbero ritrovare in
praticamente tutti i compilatori free per windows (DJGPP, Cygnus) e nel
praticamente unico compilatore usato sotto linux.
Per quanto riguarda il primo errore mi pare che fosse risaputo che il gcc
non gestisse bene il namespace std. Per il secondo, scusa l' ignoranza,
qual' é l' errore? Il gcc 2.95.2 mi segnala un errore di sintassi: vuole un
";" dopo la dichiarazione di myclass, aggiungendolo mi da, mi sembra
correttamente, questo errore:
" `int myclass::a' is private within this context"

L'errore sta nel fatto che un oggetto non può accedere direttamente ai suoi
membri private.
Mi scuso però per aver detto un cavolata perché nell'aggiornamento che ho
appena scaricato mi segnala errore.

membri private.
??????
le member function di una classe possono accedere a tutti i dati privati
della stessa senza alcuna limitazione.
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

Io intendevo :
#include <iostream>
using namespace std;
class myclass {
          private:
                   int a;
                   int b; // int a, b, c;
                   int c; 
 
        };
myclass oggetto;
int main () {
                cout << oggetto.a << endl; // Errore
                return 0;
}

 writes:

Non e' legale.  Se vuoi passare a cout un'istanza della classe myclass
(cout << a << endl;) dichiara "friend ostream & operator << (ostream
&, const myclass &);" e scrivi un metodo opportuno; se ti interessa
solo "a" aggiungi un inspector:
const int get_a() const throw() { return a; };
ed usa cout << oggetto.get_a() << endl; .
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 }
Non e' legale.  Se vuoi passare a cout un'istanza della classe myclass
(cout << oggetto << endl;) dichiara "friend ostream & operator << (ostream


Ma lo so anch'io che č illegale ma l'argomento in questione erano alcuni
errori che la vecchia versione di Dev-C++ non segnalava.
Il Signor Paolo Marotta mi aveva fatto notare che in una news precedente
non ero stato abbastanza chiaro quando dicevo che un oggetto non puą
accedere direttamente ai suoi membri private, quindi ho scritto il codice
in uestione per chiarire l'errore.

Il Signor Paolo Marotta
Ti (La) ringrazio per il "Signor" (per giunta con la S maiuscola...:) ma
basta Paolo Marotta (il cognome giusto per evitare omonimie, altrimenti
mi basterebbe solo Paolo)...
I titoli in queste occasioni lasciamoli fuori e diamoci pure del tu...
Ok?  ;-)


Va beve, scusami.

 Va beve, scusami.
      ^
E' un augurio a brindare alla nuova amicizia? :-)
Ciao,
Nicola

Volevo dire va bene (la mia brutta abitudine di non rileggere i messaggi).
Cmq non sarebbe una cattiva idea quella del brindisi virtuale...