最近电话面试知识点梳理
考研分数下来以后,思前想后还是决定放弃调剂,重新找工作,电话面试遇到的很多问题都是大学时期的常见问题,很多都只能记得一个大概,
整理一下以便以后复习之用。
**虚函数与纯虚函数**:
定义虚函数是为了让基类的指针调用子类的函数。
虚函数实质,通过虚指针来维护一个虚表,调用对应虚函数时,将虚指针指向虚表中对应的地址。
纯虚函数指的是未进行函数实现的虚函数,前加Virtual后加 “=0”。必须在继承类中重新声明函数,有纯虚函数的类是抽象类,他本身不能生成对象,
只能通过派生子类来生成,但是子类如果没有改写纯虚函数,仍然是抽象类。纯虚函数的作用就是让基类不被实例化。
**静态成员和非静态成员的区别**:
静态成员即使用Static修饰的成员,数据成员需要在类中声明,在类外部定义,类外部不能指定Static,需要在类定义的时候进行初始化,通过类
和对象都可以访问,但是非静态成员在对象被实例化的时候创建,所以只能通过对象访问。一个类的不同实例中同一静态成员都是同一个值,但
是一个类不同实例创建的同一静态成员可以是不同值。静态函数里不能使用非静态成员,如非静态成员变量,非静态成员函数等。
静态成员函数没有this形参,可以访问Static成员,不能访问非Static成员。静态成员函数可以在类外定义,也可以在类中定义,在外部定义时,
不可以重复指定Static保留字。不能声明为虚函数,不能实现动态绑定。PS:构造,析构函数都不能为静态函数。
**STL**:Vector和list区别:
ve