Re: Доступ к приватным методам через класс-оболочку
От: swingus  
Дата: 05.10.10 06:37
Оценка: 3 (1)
Здравствуйте, Аноним, Вы писали:




class inner
{
public:
   int _i;
   void do_smth() {}
};

class core_access;

class outer
{
private:
   friend class core_access;

   inner _inner;
public:
   outer(int i)
   {
      _inner._i = i;
   }
};

class core_access
{
private:
   outer *_outer;
public:
   core_access(outer *o): _outer(o) {}

   inner *operator -> ()
   {
      return &_outer->_inner;
   }
};

int _tmain(int argc, _TCHAR* argv[])
{
   outer O(2);
   core_access wrapper(&O);
   int i = wrapper->_i;
   wrapper->do_smth();

    return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.