|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2004
Messaggi: 88
|
[c++]Classi.un paio di dubbi
ciao.sto esercitandomi un pò sulle classi,argoimento abbastanza complesso per chi lo affronta per la prima volta
allora mettiamo io abbia questa classe Codice:
class data {
private: char giorno;
public:
void printgiorno() {
cout << giorno << endl;
}
}
2)Messo ke la variabile giorno non può essere modificata dall'estrerno, come gli assegno un valore?char giorno = 10; da errore 3)Qual è in parole povere la grande potenza delle classi? grazie a tutti. sciaoooo
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles MA CHI ERANO MAI QUESTI BEATLES" |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Jun 2004
Città: Pecetto
Messaggi: 73
|
class data {
private: char giorno[4]; public: void printgiorno() { cout << giorno << endl; }; void SetGiorno(char *day) { strcpy(giorno,day); }; } int main() { data buonGiorno; buonGiorno.SetGiorno("25"); buonGiorno.printgiorno(); return 1; }
__________________
Gianni |
|
|
|
|
|
#3 | ||
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 5206
|
Quote:
Codice:
class data
{
private:
short m_giorno;
short m_mese;
short m_anno;
public:
data (short giorno, short mese, short anno)
{
m_giorno = giorno;
m_mese = mese;
m_anno = anno;
}
void setGiorno (short giorno) { m_giorno = giorno; }
void setMese (short mese) { m_mese = mese; }
void setAnno (short anno) { m_anno = anno; }
short getGiorno () const { return m_giorno; }
short getMese () const { return m_mese; }
short getAnno () const { return m_anno; }
};
Quote:
Quello che in pratica viene chiamato "information hiding". Tutto ciò che non è importante/interessante per il programmatore che utilizza la classe, può essere nascosto. Ci sono poi altri meccanismi previsti dal OOP, come l'ereditarietà e il polimorfismo. Una classe (come quella sopra per le date) non sarebbe molto diversa, come contenuto, da una struttura del tipo: Codice:
typedef struct
{
short giorno;
short mese;
short anno;
} data;
Nella classe "data" sopra invece ci sono dei metodi per compiere delle operazioni sulla classe. Potresti implementare la data internamente alla classe in un altro modo, potresti mettere dei controlli nei metodi "setXXX" per validare l'input, ecc... Tutto questo in modo nascosto a chi poi utilizza la classe. Beh, non ho spiegato tutto ma almeno spero di essere stato chiaro. Ciao.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%) Java Versions Cheat Sheet |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:22.



















