C语言中什么函数不能声明为虚函数?
c语言里不管什么函数都不可以声明成虚函数的,只有c++里才可以
目前创新互联公司已为千余家的企业提供了网站建设、域名、网页空间、网站托管、服务器租用、企业网站设计、齐河网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
什么函数不能声明为虚函数?
inline, static, constructor ,template 函数都不能 为虚函数,而析构函数可以。
为什么呢:
inline: 编译器替换; 而虚函数是为了解决运行期间绑定。
static:class 成员; 编译期间就给class了。
constructor: 构造函数表示要生成一个class的object;假设是virtual的,那就说不知道这个实例化derived还是based的class。但是类型实例化必须在编译期确定(否则编译器不知道到底是什么对象了)
template:模板实例是在 compile-time,virtual就意味着在run-time确定。这让编译器设计者为难了,这就是说虚函数表要指向各种版本的 template function 实例,代码设计者confuse,编译器设计者也觉得蛮烦。
C语言中void DigDisplay()是什么意思?
您好,很高兴回答您的问题。
由于没有看到其他的内容所以只能从结构上来说明相关含义。
void digdisplay()表示的是这个函数的定义,其中void表示函数不带任何的返回值,digdisplay表示的是函数名,括号中表示函数的参数,这里是空的,所以表示不带任何的返回值。
以上就是我的回答,敬请指正。
网页标题:c语言的虚函数 c语言中虚数
当前路径:http://lswzjz.com/article/ddsdogg.html