GeekBand C++面向对象高级编程(二)

本笔记为GeekBand C++面向对象高级编程(上)第二周课程之总结。

一、三大函数

从string类入手,讲解Class with pointer members中3个特殊函数:

  • 拷贝构造函数
  • 析构函数
  • 拷贝赋值函数
    任何带有pointer members的类必须有拷贝构造函数和拷贝赋值函数。

1.1 拷贝构造函数

copy ctor的实现时必须先分配空间,然后再进行拷贝。

1.2 拷贝赋值函数

必须先检测自我赋值,然后分三步进行

  • 删除private data
  • 分配内存空间
  • 拷贝数据

二、堆栈以及内存管理

,是存在于某作用域的一块内存空间。函数本体内声明的任何变量,其所用内存都取自
,是由操作系统提供的一块全局内存空间,程序可动态分配从中取得若干区块。

new是先分配内存再调用构造函数
new是先分配内存再调用构造函数

p1.jpg

delete是先调用析构函数再释放内存
delete是先调用析构函数再释放内存

p2.jpg

注意事项:VC中的动态内存分配
VC中动态内存分配
VC中动态内存分配

三、类模板

template<typeneme T>
class complex
{
piblic:
...

private:
...

};

四、namespace的使用

可以理解为界定函数、变量的作用域。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容