fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template <typename T>
  5. const T* make_const(T *ptr) {
  6. return ptr;
  7. }
  8.  
  9. #define const_this make_const(this)
  10.  
  11. struct MyQuestion
  12. {
  13. void fun()
  14. { cout<<"a"; }
  15.  
  16. void fun()const
  17. { cout<<"b"; }
  18.  
  19. void call()
  20. {
  21. const_this->fun(); // calls fun() const
  22.  
  23. fun(); // calls fun()
  24. }
  25. };
  26.  
  27. int main() {
  28. MyQuestion q;
  29. q.call();
  30. }
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
ba