Guest User

Untitled

a guest
Feb 21st, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.36 KB | None | 0 0
  1. typedef void (A::*Setter)(int val);
  2.  
  3. void set(A* a, Setter s, int val) {
  4. (a->*s)(val);
  5. }
  6.  
  7. class A {
  8. int mVal;
  9. void setVal(int val) { mVal = val; }
  10. public:
  11. int getVal() { return mVal; }
  12. static A* create(int val) {
  13. A* a = new A;
  14. set(a, &A::setVal, val);
  15. return a;
  16. }
  17. };
  18.  
  19. void test() {
  20. ASSERT(A::create(3)->getVal() == 3);
  21. }
Add Comment
Please, Sign In to add comment