Ecco:
class Persona{ String nome; String cognome; int altezza; } public class Main { public Main() { } public static void main(String[] args) { Persona Mario=new Persona(); Mario.nome="Mario"; Mario.cognome="Rossi"; Mario.altezza=177; } }Ho creato un'istanza della classe Persona, chiamata Mario.
Una volta creata l'istanza, manipolo le sue proprietà.
Adesso ripassiamo la sintassi C++...
Vediamo piano piano come si dichiarano le classi...
class Persona{ public: char* nome; char* cognome; int altezza; }; void main(){ Persona Mario; Mario.nome="Mario"; Mario.cognome="Rossi"; Mario.altezza=176; printf(Mario.nome); printf(Mario.cognome); getchar(); }Bene.
Confronto:
In Java sembrerebbe che i membri della classe vengano ritenuti di base pubblici, mentre in Cpp verrebbero ritenuti di base privati. Infatti se io faccio questo in Java:
class Persona{
private String nome;
String cognome;
int altezza;
}
public class Main {
public Main() {
}
public static void main(String[] args) {
Persona Mario=new Persona();
Mario.nome="Mario";
Mario.cognome="Rossi";
Mario.altezza=177;
}
}
ottengo questo messaggio di errore:
C:\Users\Io\JavaApplication1\src\javaapplication1\Main.java:34: nome has private access in javaapplication1.Persona
In Cpp, invece, se faccio questo:
class Persona{
char* nome;
public:
char* cognome;
int altezza;
};
void main(){
Persona Mario;
Mario.nome="Mario";
Mario.cognome="Rossi";
Mario.altezza=176;
printf(Mario.nome);
printf(Mario.cognome);
getchar();
}
ottengo questo:
1>c:\users\io\documents\visual studio 2010\projects\progetto\progetto\uno.cpp(12): error C2248: 'Persona::nome': impossibile accedere a private membro dichiarato nella classe 'Persona'E questa è una delle differenze...
private, in ambedue i linguaggi, significa che il membro può essere visto solo all'interno della classe stessa.
Almeno credo...
Nessun commento:
Posta un commento