For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
互联网的高速发展,程序员从业人群非常多,每一个程序员都有自己专属的,最适合自己的一门程序语言,比如:java,php,web,C++等等。其中C++目前也是应用很广的一门编程语言,但是它不像java那样被人们所熟知,也不像python那样出尽风头,举个简单的例子,我们平时用的防火墙,杀毒软件,就是用C++编写的,C++可以处理一些非常复杂的问题,今天青岛c++培训小编为大家带来,C++后台基础知识与数据库,希望大家喜欢!
构造函数能不能是虚函数?
不可以,因为虚函数的调用必须通过虚函数表查找来实现,只有通过类对象前4个字节(32位系统)虚函数表指针找到对应类的虚函数表,才能访问虚函数,而虚函数表指针的生成是在构造函数中完成的,如果构造函数是虚函数,那么就只能通过虚表指针才能访问到,关键是此时就需要让构造函数产生出虚表指针。陷入了先有蛋还是现有鸡的问题。
析构函数可不可以是纯虚函数?
不建议是,因为我们知道纯虚函数是没有实现体的,那么子类对象在析构的时候,父类组成部分就没办法释放,显然不行。但是对于大部分编译器来说,可以将析构函数申明为纯虚函数,然后在类外写纯虚函数的实现体,从语法上不会报错。
构造函数和析构函数的调用顺序
C++标准规定构造函数是先调用基类的再调用子类的,而析构函数则是先调用子类的再调用基类的。