1. C++ / Говнокод #509

    +151

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    #include "stdafx.h"
    
    class CTest
    {
    private:
      virtual void Print()
      {
        _tprintf( _T("He he ;)\n"));
      }
    };
    
    class CX
    {
    public:
      virtual void BlaBla();
    };
    
    int _tmain(int argc, _TCHAR* argv[])
    {
      CTest t;
    
      //error C2248: 'CTest::Print' : cannot access private member declared in class 'test'
      //t.Print();
    
      //It works
      ((void (*)(void))((int*)(*(int*)&t))[0])();
    
      //It works, too
      ((CX*)&t)->BlaBla();
    
      return 0;
    }

    Запостил: guest, 07 Февраля 2009

    Комментарии (1) RSS

    Добавить комментарий