#include <iostream>
class B {
int aa = 0,bb=3;
int a=10;
public:
void print()
{
std::cout << "a=" << a << std::endl;
}
};
typedef int B::* stolen_mem_ptr;
template<stolen_mem_ptr MemPtr>
class Robber {
friend stolen_mem_ptr steal() {
return MemPtr;
}
};
template class Robber<&B::a>;
stolen_mem_ptr steal();
int main()
{
B b;
b.print();
auto accessor = steal();
b.*accessor = 100;
b.print();
std::cout << "Hello World!\n";
}