|
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass(int i) {
val=i;
}
int val;
int doubleValue() {
return val+val;
}
};
int main()
{
int MyClass::*data; // data member pointer
int (MyClass::*func)(); // function member pointer
MyClass myObject1(1), myObject2(2); // create objects
data = &MyClass::val; // get offset of val
func = &MyClass::doubleValue; // get offset of doubleValue()
cout << "Here are values: ";
cout << myObject1.*data << " " << myObject2.*data << "\n";
cout << "Here they are doubled: ";
cout << (myObject1.*func)() << " ";
cout << (myObject2.*func)() << "\n";
return 0;
}
|