|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
[C++]Membri Costanti e composizione
Ciao a tutti, sono arrivato a studiare i membri e le funzioni costanti di una classe, ma non riesco a capire il vantaggio di metterli costanti!!
Per esempio perchè una funzione print il libro la mette costante. Quindi quando devo usare la parola const?? Per secondo non riesco a capire la composizione,per nulla Qualcuno che mi spiega cortesemente magari con un esempio? Ciao e grazie in anticipo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dichiarare un metodo const significa che non andrà a modificare i dati della classe...
Se ho la classe X che un metodo const print e dichiaro: const X pippo(...parametri se servono...); Con un oggetto const si possono richiamare solamente metodi const... pippo.print(); |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
vantaggi ?
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
ok, e quando secondo te mi conviene definire una funzione const ??
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sempre nel caso in cui non modifichi i dati interni della classe...
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
ok, grazie, dovrò fare un po di pratica, tu come programmatore lo usi spesso??
Invece per quanto riguarda la composizione? |
|
|
|
|
|
#8 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Comunque serve per dare alla tua classe una usabilità completa in ogni contesto... Quote:
|
||
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
la composizione
Il libro la chiama così: "Il concetto di composizione: Oggetti che diventano membri di altre classi" |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Li tratti come li tratteresti in una funzione normale...che c'è di strano... Al limite cambia solo l'inizializzazione....
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
guarda questo pezzo di codice:
Codice:
class date
{
public:
Date(int=1, int=1,int=1990);
void print() const;
~Date();
private:
int month;
int day;
int year;
int checkday(int);
};
class Employee
{
public:
Employee(char *,char *,int,int,int,int,int,int);
void print();
~Employee();
private:
char firstName[25];
char lastname[25];
const Date birthDate; //Che significa???
const Date hireDate; //Che Significa???
};
Perchè mette Date ??? |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
class date
In cima deve essere Date e non date... Perchè vuole utilizzare 2 date ed avendo definito la classe Date si lmiita a dichiare due istanze della classe Date... |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
dichiara 2 oggetti della classe Date come membri della classe Employee???
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Certo...
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
bhe ma allora e una cosa inutile, potevo benissimo gestirli in modo indipendente!
Giusto?? |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Che intendi ? Perchè inutile ? Come avresti voluto gestirlo ?
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
secondo me è inutile perchè potevo gestire le 2 classi in modo indipendente...
Magari mi sbaglio |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Lo sai perchè si fanno le classi ? Uno degli scopi principali è per poter riutilizzare gli stessi oggetti in diverse circostanze...
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
ok, grazie
Cmq io e la prima volta che programmo con le classi, non mi è così facile Byezz |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:56.


















