Cookbook系列之Cpp:雜項

問題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; 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章