走马观花的跑完了《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

异常的基本概念,异常的抛出和捕捉,异常语句,底层发现的异常向上抛出,给到上面做处理。

  open file
  determine its size
  allocate that much memory
  read the file into memory
  close the file 
 
流的概念-流的运算符:流是一维的

STL简述:

  why should I use STL?
    Reduce development time
    Code readability
    Fit more meaningful stuff on one page
    Robustness 
    -STL data structure grow automatically 标准库的数据结构可以自动增长
    Portable code 可移植
    Maintainable code 可维护性
    Easy 容易

Vector List deque sets集合 Maps(映射,键值对) basic算法比如sorting 

  -采用了模板和重载两种方式,本质上,容器是一种类class。