C++面试考点总结,堪称BAT经典!

C++面试考点总结,堪称BAT经典!_第1张图片
image

C++语言基础知识

  • sizeof作用:
  • sizeof空类型,返回值为1。 原因:声明空类型时,必须在内存中占一定的空间,否则无法使用这些实例。占用多少内存,由编译器决定,Visual Studio中,空类型的实例占1字节的空间。
  • 构造函数和析构函数的sizof均为1 原因无返回值,相当于是空类型
  • 其余函数的sizeof 根据的是它的返回值
  • 虚函数:相当于指向虚函数表的指针,32位的话 ,一个指针占4字节,64位的话,指针占8字节。
  • 赋值运算符函数:
  • tip:运算符重载:即实现运算符多态的一种方法,修改传统运算符的方式。
  • 格式:
return_val operator op(argument -list)

符号含义:

  • return_val: 返回值,可选,例如重载+ 一般都有返回值, 重载=号 可就没返回值。
  • operator: 重载符号:默认
  • op: 需要重载的符号例如:+ - * /
  • argument-list :重载的参数 例如int+int 那么重载的参数就是int

实例:

#include "stdafx.h"
class People
{
public:
    //构造函数和析构函数
    People();
    ~People();
public:
    char walk();
    float getCount();
    People operator+(const People&op_People);//重载加号运算符
};
可以看出,头文件中,定义了一个重载+号符号的运算符重载函数
接下来是实现:
// SizeofDemo.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "SizeofDemo.h"
using namespace std;
People::People()
{
    cout << "This is a people!" << endl;
}
People::~People()
{
}
char People::walk()
{
    cout << "sss"<walk()) << endl;
    delete p_People;
    People cir_dd;
    People dd;
    People cir = cir_dd +dd; //测试重载
    system("pause");
    return 0;
}

运行结果:

C++面试考点总结,堪称BAT经典!_第2张图片
image

可以看出 重载成功,实现了+号的多态。

最后,如果你想学C++可以加Q群:825414254获取素材资料以及开发工具和听课权限!

C++面试考点总结,堪称BAT经典!_第3张图片
image

你可能感兴趣的:(C++面试考点总结,堪称BAT经典!)