什么是虚函数和纯虚函数,有什么区别?
虚拟函数和纯虚拟函数都可以在它们的子类中重写。它们之间的区别在于:(1)纯虚函数只有定义,没有实现,虚函数既有定义又有实现代码。纯虚函数一般没有代码实现部分,如virtualvoidprint()=0,而一般虚函数必须有代码实现部分,否则函数将是未定义的。virtualvoidprint(){printf(“thisisvirtualfunctionn”)}(2)包含纯虚函数的类不能定义其对象,而包含虚函数的类可以定义其对象。
虚函数或纯虚函数主要用来解决什么问题?
虚拟函数用于后期动态绑定,可以实现运行时多态性。说白了,它是一个函数指针,决定了运行时要调用的目标。纯虚函数,顾名思义,是一个完全虚函数。它没有绑定到任何实际函数,是空的。纯虚函数主要用于防止类的实例化。类的派生必须实现函数,否则就不能实例化,这相当于c#或java的抽象函数。如果一个类中的所有函数都是纯虚函数,那么这个类就构成了一个接口。
在c中函数指针有什么作用呢,为什么不直接调用函数而要使用函数指针?
可用作回调函数。只需将函数指针作为参数传递给另一个函数,另一个函数就可以在执行期间或执行之后通过该指针调用预置的用户函数。
原文标题:c++ try catch语句 什么是虚函数和纯虚函数,有什么区别?,如若转载,请注明出处:https://www.saibowen.com/tougao/18781.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。