151、静态函数能定义为虚函数吗?常函数呢?说说你的理解
2021/7/20 23:06:03
本文主要是介绍151、静态函数能定义为虚函数吗?常函数呢?说说你的理解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、static成员不属于任何类对象或类实例,所以即使给此函数加上virutal也是没有任何意义的。
2、静态与非静态成员函数之间有一个主要的区别,那就是静态成员函数没有this指针。
虚函数依靠vptr和vtable来处理。vptr是一个指针,在类的构造函数中创建生成,并且只能用this指针来 访问它,因为它是类的一个成员,并且vptr指向保存虚函数地址的vtable.对于静态成员函数,它没有 this指针,所以无法访问vptr。
这就是为何static函数不能为virtual,虚函数的调用关系:
this -> vptr -> vtable ->virtual function
这篇关于151、静态函数能定义为虚函数吗?常函数呢?说说你的理解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-19Java前端后端分离学习指南
- 2024-11-19Java全栈学习:从入门到实践
- 2024-11-19Java微服务系统学习入门指南
- 2024-11-19Java微服务学习:入门与实践指南
- 2024-11-19Java学习:初学者必备指南
- 2024-11-19Java医疗系统学习:从入门到初级实战教程
- 2024-11-19SpringCloud Alibaba入门教程:轻松搭建微服务架构
- 2024-11-19SSM框架入门教程:轻松搭建Java企业级应用
- 2024-11-19订单系统学习:新手入门指南
- 2024-11-19读写分离学习:轻松入门与实战指南