C++中多态的实现是基于基类指针或者引用,指向子类对象,调用子类重载了的虚函数。
问题
常见的多态的实现是使用指针来实现,此处给出一个使用引用的样例。
#include <iostream>
class Base
{
public:
virtual void func() {
std::cout << "Base::func" << std::endl;
}
protected:
private:
};
class Derived :public Base
{
public:
virtual void func() {
std::cout << "Derived::func" << std::endl;
}
protected:
private:
};
int main()
{
Derived d;
Base& obj = d;
obj.func();
return 0;
}