#include
class A {};
class B : public A {};
void bar(const A &) { std::cout << "A"; }
void bar(const B &) { std::cout << "B"; }
int main()
{
A a;
B b;
A &ref_to_a = a;
A &ref_to_b = b;
bar(a);
bar(b);
bar(ref_to_a);
bar(ref_to_b);
return 0;
}