走马观花的跑完了《C++面向对象程序设计》,有了基本认识。
翁恺《面向对象程序设计》笔记
什么是对象-面向对象的基本原理
头文件(.h)
成员变量-成员变量的秘密
构造函数和析构函数
对象的初始化(initialization)
new & delete ;new[] & delete[]
-在C语言中通过malloc来动态分配内存,在C++中通过new来分配内存,实际上与C的实现方式没有区别。
-C++中,数据在计算机中的存储地点:
-1.栈(stack)用来存放本地变量,在函数内部
-2.堆(heap)new出来的数据
-3.全局数据区:存放全局变量,静态变量,静态成员变量
-C++中,获取数据也是去这三个地方获取,因而C++是一种比较复杂的语言。
访问限制
初始化列表,调用之前通过初始化列表进行initialization
对象组合,composition 组合成为一个新的对象
-另外一种建立新的object的方式是通过继承的方式,构建新的object,鸡蛋心和鸡蛋清的模型-子类比父类具备更多的属性,子类构建的对象比父类构建的对象
具备更多的属性。
继承-子类父类关系,子类可以被当成一个父类来看待,upcast ;父类被当成子类来看待,downcast,但是不一定是正确的;鸡蛋模型,子类包含了比父类更多的特性
函数重载和默认参数()
内联函数,为了提高运行速度采用内联函数,因为调用函数需要开支
const 指针的关系不变,而不是说指向的元素不变,与static静态变量有区别,static是在内存中的地址不变
不可修改的对象
引用“&”,本质上是一种指针,与java语言的区别。
向上造型
多态性
拷贝构造
静态对象-静态成员,放在全局变量区
运算符重载
基本规则。原型。赋值。类型转换
模板template
异常的基本概念,异常的抛出和捕捉,异常语句,底层发现的异常向上抛出,给到上面做处理。
STL简述:
Vector List deque sets集合 Maps(映射,键值对) basic算法比如sorting
-采用了模板和重载两种方式,本质上,容器是一种类class。