【博客33】使用 "NVI"解决缺省参数绑定问题

内容: 由于不希望博客写得太长,内容过于累赘,所以把问题和解决拆开来写。上一篇博客中讲述了,缺省参数绑定会出现的问题,会使得你动态指定参数并不生效,因为缺省参数是静态绑定的。那么有没有办法,我既要能够动态指定,又要能够不指定时使用默认值,而且我还有通过指针或者引用来调用,因为要触发多态,只能是指针或者引用。

答案:使用非虚接口来配合实现。

代码一:使用指定参数的情况
在这里插入图片描述
结果:
在这里插入图片描述
代码二:使用默认缺省参数的情况
在这里插入图片描述
结果:
在这里插入图片描述
分析:可以看到当我们使用非虚接口,然后在非虚接口中调用真正的处理函数,这样的方法可以使得我们原来的目标:"既要能够动态指定,又要能够不指定时使用默认值,同时还得通过指针或者引用来调用,以触发多态 "得以实现。因此当我们需要完成这种情况的时候,我们需要配合非虚接口,然后在非虚接口中使用缺省参数,然后非虚接口去调用你的纯虚函数,然后子类去实现你的纯虚函数后,子类调用的是继承而来的非虚接口。

大三学生一枚,文章均非抄袭或者模仿,均为原创,仅代表个人观点,如果文章有错误的地方,欢迎在下方提出,每条评论我都会去认真看并回复,同时感谢指正的前辈。

猜你喜欢

转载自blog.csdn.net/qq_43684922/article/details/89598059