leproza

Marker issue

May 31st, 2022 (edited)
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. struct Child
  4. {
  5.     int* m_pMarker;
  6.     Child() { m_pMarker = NULL; }
  7.     void subDraw( int& marker )
  8.     {
  9.         marker++;
  10.         m_pMarker = &marker;
  11.         draw();
  12.     }
  13.  
  14.     void draw()
  15.     {
  16.         if( m_pMarker )
  17.         {
  18.             std::cout << "Child marker is " << *m_pMarker << std::endl;
  19.         }
  20.     }
  21. };
  22.  
  23. struct Parent
  24. {
  25.     Child m_child;
  26.     void draw()
  27.     {
  28.         int* pMarker = new int;
  29.         *pMarker = 0;
  30.         m_child.subDraw( *pMarker );
  31.         delete pMarker;
  32.         pMarker = NULL;
  33.     }
  34. };
  35.  
  36. int main()
  37. {
  38.   Parent p;
  39.   p.draw();
  40.   p.m_child.draw();
  41. }
Add Comment
Please, Sign In to add comment