Advertisement
Ardente

Sad

Aug 6th, 2020
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.36 KB | None | 0 0
  1. class X
  2. {
  3. public:
  4.     virtual ~X() = 0;
  5.    
  6.     template<typename T>
  7.     virtual T getThis()
  8.     {
  9.         return *this;
  10.     }
  11. };
  12.  
  13. class Y : public X
  14. {
  15. public:
  16.     ~Y()
  17.     {
  18.        
  19.     }
  20.    
  21.     virtual Y getThis() override
  22.     {
  23.         return *this;
  24.     }
  25. }
  26.  
  27. X* xvar = new Y();
  28. decltype(*xvar->getThis())* yvar = &(*xvar->getThis());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement