
c++中虚函数和纯虚函数有什么区别?
展开全部
首先,二者申明不一样。
virtual
void
test(void);//虚函数
virtual
void
test(void)
=
0;//纯虚函数
其次,如果一个类包含了一个纯虚函数(哪怕只有一个是纯虚函数),那么它就是一个抽象类——就是不能生成具体的对象!但如果类中只包含虚函数,那么是可以定义具体的对象的!
但二者又有一个相同点:都必须在子类中覆盖申明的虚函数!而不管是虚还是纯虚!
virtual
void
test(void);//虚函数
virtual
void
test(void)
=
0;//纯虚函数
其次,如果一个类包含了一个纯虚函数(哪怕只有一个是纯虚函数),那么它就是一个抽象类——就是不能生成具体的对象!但如果类中只包含虚函数,那么是可以定义具体的对象的!
但二者又有一个相同点:都必须在子类中覆盖申明的虚函数!而不管是虚还是纯虚!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询