问题01:如何使用地址来引用数据成员或成员函数

    使用类名和范围操作符加上星号来正确地引用类成员。

  1. #include <iostream> 
  2. #include <string> 
  3.  
  4. using namespace std; 
  5.  
  6. class MyClass { 
  7. public
  8.     MyClass() : ival_(0), sval_("foo") {} 
  9.     ~MyClass() {} 
  10.     void incr() {++ival_;} 
  11.     void decr() {--ival_;} 
  12.  
  13.     string sval_; 
  14.     int ival_; 
  15. }; 
  16.  
  17. int main() 
  18.     MyClass obj; 
  19.  
  20.     int    MyClass::* mpi = &MyClass::ival_; // Data member pointers 
  21.     string MyClass::* mps = &MyClass::sval_; 
  22.  
  23.     void (MyClass::*mpf)(); // A pointer to a memeber function 
  24.     mpf = &MyClass::incr; 
  25.  
  26.     cout << obj.*mpi << endl; 
  27.     cout << obj.*mps << endl; 
  28.  
  29.     (obj.*mpf)(); 
  30.     cout << obj.ival_ << endl; 
  31.  
  32.     return 0;