函数重载、隐藏、覆盖

1.函数重载、隐藏和覆盖区别

共同点:函数名相同

位置:

   - 发生在同一个类当中——重载。函数的参数类型或者数量不同,仅返回值不同则不能成为重载;

   - 发生在派生类与基类之间——覆盖或者隐藏

覆盖与隐藏区别

  -覆盖:要求派生类与基类中的两个函数完全相同(参数类型、个数、返回值完全相同,即声明完全相同)且基类中为虚函数
  -隐藏:覆盖以外的情况即为隐藏;

2.面向对象的四个特征

抽象、继承、封装、多态

C++中的抽象类

  (1)含有纯虚函数的类.纯虚函数没有实现部分,无法创建对象。
  (2)构造函数或者析构函数的访问限定定义为protected的类。这样的类无法创建一个对象或者无法析构一个对象;

C++中多态性的体现

  -运行时的多态性:通过类的继承与虚函数实现;
  -编译时的多态性:通过函数的重载运算符的重载实现;

原文地址:https://www.cnblogs.com/silentteen/p/7611556.html