之前学C++时,觉得相关的内容都很多很杂,最近刚好复习这块,整理一下之前遇到的几个问题:
1、重载
2、C++中的string
3、this指针
4、对齐
5、C++多态实现机理
6、友元
7、C++的静态变量、静态函数和静态方法
接下来,详细分析:
1、C++中的重载和覆盖是面试中常被问到的,其实现方法不再赘述,这里主要说一下,重载中为什么不考虑返回值类型:
实际上,从重载机制上看,是可以实现返回值不同函数重载的,因为编译之后,重载函数的名字映射为“返回类型+函数名+参数列表”这种类型,所以一个函数的返回值对其变名是有影响的,但是为了保持解析操作符或函数调用时,独立于上下文,所以重载函数不考虑返回值类型。
2、string是C++的自带类,可以用来声明一个字符串,用法是在头文件中加#include,其相关的常用的操作有:
获取字符串长度:str.length(),字符串连接:str=str1+str2,字符串比较,获取第一个字符:str.begin(),倒置串:reverse(str.begin(), str.end()),查找串等等。
3、this指针的应用场景:
考虑如下的代码:
class A
{
char a;
A (