Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 非虚函数是否可以等于0?_C++_Virtual - Fatal编程技术网

C++ 非虚函数是否可以等于0?

C++ 非虚函数是否可以等于0?,c++,virtual,C++,Virtual,非虚函数是否可以等于0,例如 void foo() = 0 关键字“virtual”不在前面的位置 Best=0并不意味着函数为空。这只是一种告诉编译器这是纯虚函数的语法。不能使用纯非虚函数,因为不可能实例化此类类,也不可能重写子类中的函数。但是您所显示的代码可能会出现在程序中,即foo()在父类中声明为虚拟。virtual将函数标记为虚拟,另外=0将其标记为纯虚拟。一个非虚拟的纯函数。。。那会是什么 所以不,这不起作用。它不是一个等于零的函数,它是一个纯虚函数的指示符 知道了这一点,很明显,

非虚函数是否可以等于0,例如

void foo() = 0
关键字“virtual”不在前面的位置


Best

=0
并不意味着函数为空。这只是一种告诉编译器这是纯虚函数的语法。不能使用纯非虚函数,因为不可能实例化此类类,也不可能重写子类中的函数。但是您所显示的代码可能会出现在程序中,即
foo()
在父类中声明为虚拟。

virtual
将函数标记为虚拟,另外
=0
将其标记为纯虚拟。一个非虚拟的纯函数。。。那会是什么


所以不,这不起作用。

它不是一个等于零的函数,它是一个纯虚函数的指示符

知道了这一点,很明显,非虚拟函数不能被指定为纯虚拟函数

但是,如果s基类具有您的类正在重写的虚拟函数,则不需要重复虚拟指示符,但允许您将该函数标记为纯虚拟。

当应用于虚拟函数时,
=0
使其成为纯虚拟函数。它在非虚函数上没有任何意义


更新:在函数重写其基类中的虚拟函数的情况下,虚拟函数不一定以
virtual
关键字开头。

函数不能等于任何东西,它不是数据。功能声明后的
=0
符号表示其他内容。不,此符号不能用于非虚函数。是的,即使不存在单词
virtual
,它也可以用于虚拟函数。。那是什么意思?@n.m:谢谢你。当“virtual”一词不存在时,函数怎么可能是虚拟的?重写基类中的虚拟函数的成员函数自动是虚拟的,即使没有使用虚拟键。这里的最佳答案是…如果重写,则它是合法的