c语言的虚函数 c语言中虚数

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语言中虚数
文章URL:http://ybzwz.com/article/ddsdogg.html