|
|
От: | 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;
}