Puntatori ad oggetti di una classe

di il
2 risposte

Puntatori ad oggetti di una classe

Buonasera,
studiando ho trovato un esempio che non mi torna al 100%

abbiamo una classe complesso

class complesso {
double re;
double im;
public:
//..// costruttori distruttori etc
void stampa(); che stampa i valori del complesso
};
mettiamo di avere un main semplice ma giusto per capire questo esempio che non mi torna

int main(){
complesso c1;
complesso* p;

Perchè facendo .. p=c1;
p->stampa();
viene ritenuto errore?
il puntatore non dovrebbe andare a puntare direttamente alla cella di memoria invece di esplicitare l'indirizzo con p=&c1;
p->stampa(); //OK

Vi ringrazio

2 Risposte

  • Re: Puntatori ad oggetti di una classe

    C1 è una istanza della classe complesso, p è il puntatore ad un oggetto della classe, &c1 è l'indirizzo della istanza c1.
    c1 e p sono due tipi diversi non ne puoi fare quindi l'uguaglianza se non con operatori di casting.
  • Re: Puntatori ad oggetti di una classe

    sebaldar ha scritto:


    C1 è una istanza della classe complesso, p è il puntatore ad un oggetto della classe, &c1 è l'indirizzo della istanza c1.
    c1 e p sono due tipi diversi non ne puoi fare quindi l'uguaglianza se non con operatori di casting.
    TI ringrazio ora la faccenda è un po piu chiara c:
Devi accedere o registrarti per scrivere nel forum
2 risposte