C++学习笔记(1) 继承、多态、虚函数、析构方法

最近开始学习 NDK 开发
学习之前要就得先了解 C++ 语言
啥是 C++ 呢?
就是个面向对象版本的 c 语言
管他是个啥,面向对象不就 封装 继承 多态 吗
所以一开始得先了解一下这三特性
封装没啥好学的
学一下继承 多态就好了

学习之前先了解几个 java 没有的新东西。

虚函数

​ 先别管太多,用 virtual 修饰函数就是虚函数,主要就是来实现多态特性的,具体看后面多态的分析

  • 纯虚函数

    因为 c++ 没有安卓的抽象和接口,所以需要一个纯虚函数来实现类似的功能。

析构方法

​ 和构造方法相对应的一个方法,类似 Android 的 onDestroy ,对象销毁之前会调这个方法。

继承

支持多继承

共有 私有继承

多态

静态多态

​ 编译的时候就确定对象类型

动态多态

动态多态就是 java 那种正常的多态,把函数写成虚函数,就能实现动态多态功能

  • 虚函数

    运行的时候检查当前函数的所属对象,用真正的对象类型调用它

    • 构造方法永远不要设为虚函数

      如果设为虚函数,就无法构造子类对象,只会构造父类的对象

    • 析构方法一般设为虚函数

      因为我们需要释放地址的时候,我们需要释放子类的地址

你可能感兴趣的:(C++学习笔记(1) 继承、多态、虚函数、析构方法)