/* c++思考: 1 编程思想: (1) DRY原则: Don't Repeat Yourself,不要重复你的代码。 (2) 原理: 程序员重复编写的工作,由编译器去做。 (3) 代码:复用性 (4) 思想: 封装、继承、多态 2 模板: (1) 把数据类型提取出来,执行流程通用。 3 权限设置: (1) c++严格的权限好还是宽松的权限好? (2) 我觉得从调用者和被调者角度讲,严格的好。 (3) 调用者不至于随便修改被调者的代码, 引起问题调用者难以修复。 4 封装思想: (1) 封装 -> 隐藏 (2) 类: 封装属性,有模块化编程的思想。 (3) 会开车,但不一定知道发送机和变速箱原理。 4 继承: 基类与派生类 (1) 基础信息类与扩展信息类 (2) 基类/父类与派生类/子类是相对应的 (3) 继承/派生类: 对已有的功能扩展 (4) 数据和操作的扩展。 5 编写成员函数时思考 (1) 可以使用那些成员变量(是否新增) (2) 可以使用那些成员函数(是否新增) (3) 成员函数类中权限属性及const属性(函数/返回值/参数) (4) 造成影响变化: 成员变量/堆栈空间 */
/* 继承(基类和派生类): 1 构造与析构顺序及原因 - 依赖关系 2 两类数据内存分布及原因 - 参考数组和结构体 基类/派生类继承: 1 构造与析构循序及原因 2 派生类内存内存分布 3 权限、赋值 */
/* c++概念: MFC和stl MFC: Microsoft Foundation Classes stl: standard template library c: 函数库 c++: 类库 API: Application Programing Interface(应用程序编程接口) - 平台(windows/liunx/Android) C++思想: 1 类的设计: 使用者有效/方便; 设计者方便修改 2 好的工具是封装好给人用的,让使用者方便。先做好工具,再使用。 3 面向对象编程思想/封装思想: 设计者麻烦(费心思),使用者省事(方便) 4 封装思想: 一切在类内实现, 不要有全局变量,全局函数, 设置为静态变量、静态函数-回调函数。 c++技巧: 1 头文件: 不要使用using namespace std;; 输入和输出直接写 std::cin std::cout 2 二级指针,也是一种算法。 3 对复杂规则的排序 - 尽量不对原数据进行操作(修改/移动/等) 4 需要不同类跨数据使用,定义静态类对象 */