
Untitled
By: a guest on
May 24th, 2012 | syntax:
None | size: 0.57 KB | hits: 16 | expires: Never
% cat p.cpp
#include <stdio.h>
class A
{
public:
virtual void f() const
{
printf("A\n");
}
};
class B : public A
{
public:
virtual void f() const
{
printf("B\n");
}
};
void callf(A &a)
{
a.f();
}
class Caller {
public:
Caller(const A &_a1, const A &_a2):
a1(_a1), a2(_a2)
{
}
const A a1;
const A &a2;
void doit()
{
a1.f();
a2.f();
}
};
int
main()
{
B b;
Caller c(b, b);
c.doit();
return 0;
}
% ./a.out
A
B