73、MFC的:CList,CArray,CString,CMAP类面试时考类的成员函数的代码编写
STL的:std::list,vector,string ,map类面试时考成员函数的调用;查找,删除
memcpy与memmove
74,关于字符编码的问题,浅显易懂:
75.strcmp源代码
76.MemMove是加强版的memmove,对两端重叠内存复制出错的问题进行了纠正;当pDest在pSrc与pSrc+count之间时,采取的是 从尾向头的搬运
77.继承:是指现有类的所有功能,并在无需重新编写原来的类的情况下对这些类的功能进行扩展。
派生:是指派生类中新增加了一些基类的没有的功能
78.间接继承:对派生类在派生一次新的派生类
多重继承:参照一个类有多个类的对象
79.基类构造函数传递参数:
a.在派生类中构造中使用初始化列表,指定类名在括号里指定实际参数;
b.类似于成员变量的初始化传递参数,也是使用初始化列表;
c.在派生类构造如果要向基类送入数据,就必须在基类中有参的构造函数;
d.在被包含的类中必须含有有参的构造函数,在构造函数中指定对象名再指定实参;
- 重载函数:同一个区域内函数名相同但参数列表不同的函数
- 重写函数:函数覆盖,覆盖积累的同名函数
- protected权限在派生类中通过this可以访问
83.在构造函数内对变量初始化赋值有2个位置:
a.在构造函数内用=赋值
b.构造函数头上使用初始化列表用冒号和括号赋值
c.有参构造的类对象做成员变量
d.基类只有有参构造
84.基类成员调用:
a.基类中成员(变量或函数)的调用,可以使用定义域指定某个基类的成员;
b.当本类和基类中有重写时,不指定定义域时调用本类函数,指定基类就调用基类函数
c.多重继承时,2个基类内部都有同一个函数,也使用定义域指定基类调用
d.当全局函数和类内成员函数相同,使用定义域(无类名)调用全局函数
- 派生类对象大,基类对象小,基类是包含于派生类
a.基类和派生类的对象不可以直接给派生类对象赋值(大对象可以赋给小对象)
b.基类指针做参数或者基类引用做参数也是同样道理
c.把派生类的地址赋给基类指针变量(大的可以赋给小的变量)
(大的可以赋给小的引用变量)
d.把基类的地址赋给派生的指针变量,容易造成越界操作,大的对象可以引用给小类的的引用型变量
总结以上:对象、指针变量和引用都只能是赋值给小对象反之则不可以