class A1 { public: virtual void k(){std::cout << "A1";} }; class B1: public A1 { public: void k(){std::cout << "B1";} }; void function(A1 a) { a.k(); } int main() { B1 b; function(b); }