发布网友 发布时间:2024-10-24 05:58
共2个回答
热心网友 时间:4分钟前
这个是一个典型的多态问题,C++的4个基本特点之一。
virtual void display() const;中可以看到,display()是一个虚函数,因此在子类中,都可以对它进行新的定义。就是void Base2::display() 和 void Derived::display()。多态最重要的一个好处之一就是,编译器可以根据实际的对象,调用相应的函数,而不需要我们手动去设置。就比如你这里的fun()函数,定义起来非常的简单。调用的时候,它会根据不用类的对象,自动选择对应display()输出。
你可以考虑一下,假如我们需要增加一个新的类,好比是base3。因为使用了多态,所以原有的代码基本不需要做修改。添加base3类和fun(&base3)就可以了,这个在实际运用中,极大的提高了代码的可维护性。
热心网友 时间:6分钟前
这就是虚函数的妙用~~~
你去找找相关书籍,看看虚函数~~~~