挺感谢面试官了,问了我将近50分钟,自己也更加了解自己欠缺什么了。
1 C++多态如何实现
常规套路,这个很基础就不说了。
2 把析构函数声明为虚函数的作用,和实现的原理
自己没懂实现原理应该怎么回答,回来后想了想,应该按照多态的思路去回答,子类重写了父类的析构函数,那么在调用到析构函数的时候就会发生多态,从而调用子类的析构函数,再调用父类的析构函数。先子类析构再父类析构是C++标准的规定,实现原理自己没有搜到,但这么做的原因很好找。
3 C++中static关键字总结
类外:
静态全局变量:文件之外不可见
静态局部变量:
1 存在全局区,程序运行期间始终存在。
2 只初始化1次。
3 作用域是局部的。
修饰函数:文件之外不可见
类中
修饰成员变量:
1 所有对象共享一个数据,没有创建对象已经存在。
2 在类外初始化
3 优势:有访问权限控制,不在全局变量的名字空间中
修饰成员函数
1 没有this指针,只能使用静态成员变量