对下面程序里的函数void fun(){}的疑问

发布网友 发布时间: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分钟前

这就是虚函数的妙用~~~
你去找找相关书籍,看看虚函数~~~~

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com