1.析构函数为什么多为虚函数
基类的成员函数如果为虚函数,那么其子类可以重新实现该函数,如果基类成员函数不为虚函数,那么子类如果想拥有该方法需要重载。
析构函数在对象销毁时调用,用以销毁对象内那些未被销毁的变量。这就要求子类可以有自己的析构函数,来销毁自己的需要销毁的变量。
2.什么是纯虚函数
基类本身生成对象是不合理的,比如动物类,但动物类派生出牛马,子类生成对象就合情合理。子类必须实现纯虚构函数,一个类一旦定义了一个纯虚构函数则这个类就成为抽象类。抽象类不能生成自己的对象。
3.static
静态变量是全局可见的,声明静态变量时必须初始化。
4.
容器只能存放可以被复制的内置类型和对象,且放入容器内的元素必须支持赋值操作。在复制时,是浅拷贝。
5 >,>=,,<,<=这四个关系操作符只适用于Vector和deque容器
6 逗号操作符的求解过程?
首先计算它的每一个操作数,然后返回最右边的操作数作为整个表达式的结果
7 文件流不能被复制,所以文件流对象不能作为参数传递,文件流打开后,如果想打开另外一个文件,需关闭,并调用clear
8 string 转化为cstring
CString.Format("%s",String.c_str())
9 如何定义一个内联函数
在函数返回类型前加关键字inline
10 如何强制类型转换
static_cast_<int>()
11 类的成员函数后面如果有一个const,表示在该函数中,调用该函数的对象的成员变量不能为改变
12 如果形参为引用类型,那么将不复制实参,如果不希望实参被改变,可加上const