|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
[C++] Ereditarieta' e polimorfismo
più che altro ora mi interessa l'ereditarietà
siccome non ho ub libro sotto mano per comprenderne la sintassi, mi spiegate cosa significa: Counter():value(0){}; penso che definisca un costruttore ma :value(0){}; cos'è ? • La scritta : public NomeSuperclasse dopo il nome della classe, indica che questa classe deriva dall'altra. • Invece di usare come in Java super() per richiamare il costruttore della superclasse, si scrive direttamente NomeSuperclasse() • Invece i metodi della superclasse si richiamano usando l'operatore di visibilita' :: cioe' NomeSuperclasse::nomeMetodo(). Codice:
class Counter {
public:
Counter():value(0){};
Counter(int n):value(n){};
int getValue() {
return value;
}
void increment() {
value++;
}
private:
int value;
};
class BigCounter : public Counter{
public:
BigCounter(int n):Counter(n){
}
void increment(){
Counter::increment();
Counter::increment();
}
};
Ultima modifica di misterx : 26-02-2004 alle 12:07. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
vabbè, avete ragione: ho postato per pigrizia
ma oramai il 3D c'è quindi |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
dai PGI, inizia una nuova avventura; ora tocca al C++
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3739
|
trovato
è un modo per inizializzare variabili ma non so se è standard C++ Codice:
class_X
{
int a,b,&c;
public:
X(int i, int j) : a(i), b(j), c(a) {}
};
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:03.



















