一、典型的C++面向对象编程
1、元素
- 头文件hpp中类的定义
- 源文件cpp中类的实现(构造函数、析构函数、方法)
- 主程序
2、实战中,一般一个cpp和一个hpp文件配对,描述一个class,class的名字和文件名相同。
3、面向对象式编程总结
- 整个工作分为2大块:一个是建模和编写类库,一个是使用类库来编写主程序完成任务。
- 有些人只负责建模和编写类库,譬如开发OpenCV的人。
- 有些人直接调用现成类库来编写自己的主任务程序,譬如使用OpenCV分析一张图片中有没有电动车。
- 难度上不确定,2个都有可能很难或很简单。
4、C++学习的三重境界
- 学习C++第一重境界就是语法层面,先学会如何利用C++来建模、来编程,学习语法时先解决难度大问题。
- 学习C++第二重境界就是解决问题层面,学习如何理解并调用现成类库来编写主程序解决问题。
- 学习C++的第三重境界是编写类库和sample给别人用,需要基础好且有一定架构思维。
二、C++的构造函数 和 析构函数
1、什么是构造函数
- constructor,字面意思是用来构造对象的函数;destructor,字面意思是用来析构对象的函数。
- 可以理解为语言自带的一种hook函数ÿ