#include using namespace std; class classe{ public: int valore; classe(int a) { valore = 2; } int doppio_valore() { return valore * 2; } }; int main () { cout << " Creazione dei puntatori a membri ["; // creazione dei puntatori a membri int classe::*dati; int (classe::*funzione)(); // i puntatori a membri dati e funzione vengono collegati // con i membri della classe dati = valore e funzione = doppio_valore dati = &classe::valore; funzione = &classe::doppio_valore; classe o1(1) , o2(1); // creazione degli oggetti o1 e o2 classe *p1 , *p2; // creazione di 2 puntatori p1 e p2 p1 = &o1; p2 = &o2; cout << " ByMpt-Zorobabele ]\n \n Valori calcolati tramite le variabili \n\n"; cout << " valori creati dai puntatori p1 e p2 usando ( ->*) : \n " << p1->*dati << "\t" << p2->*dati << "\n"; cout << " valori creati dagli oggetti o1 e o2 usando ( .* ) : \n " << o1.*dati << "\t" << o2.*dati << "\n\n"; cout << " valori calcolati tramite le funzioni \n\n"; cout << " valori ricavati dai puntatori p1 e p2 usando ( ->* ) : \n " << (p1->*funzione)() << "\t" << (p2->*funzione)() << endl; cout << " valori ricavati dagli oggetti o1 e o2 usando ( .* ) : \n " << (o1.*funzione)() << "\t" << (o2.*funzione)() << endl; cout << endl << " [ ByMpt-Zorobabele ] " ; system("pause"); }