C++自动提供的类成员函数(隐式成员函数):
1 默认构造函数
2 拷贝构造函数
3 赋值操作符
4 默认析构函数
5 地址操作符
深拷贝的句法:
背景:当类中使用new,delete动态使用内存时,程序猿应当手动定义 显式拷贝构造函数 与 显式赋值操作符
显式拷贝构造函数:
new .... 申请新内存
memcpy... 内存块复制
显式赋值操作符:
释放以前的内存,避免内存泄露
避免自己赋值自己
内存块复制
返回一个指向调用对象的引用
静态类成员函数:
关键字 static
写法:在类声明中声明函数同时定义函数
用法:只能通过类名+作用域限定符::来调用
特性:只能调用静态的类数据成员
1 构造函数new 析构函数delete
2 new 对应 delete, new[ ] 对应delete[ ]
3 如果多个构造函数 new必须用法一致,new or new [ ],因为只有一个析构函数
4 显式定义拷贝构造函数
5 显式定义复制操作符
C++函數 返回對象的形式:
1 返回指向const對象的引用(函數參數為const 引用,這種用法將被引用參數全部或部分原樣返回)
2 返回指向非const對象的引用(同1,但是允許對函數參數進行修改)
3 返回對象 (返回被調函數中的局部變量)
4 返回const對象 (防止被調函數返回的變量被緊隨其後的操作修改,比如賦值)
指向对象的指针的语法:
1 声明写法:
2 声明同时初始化:
3 使用new来初始化指向对象的指针:
4 使用->来访问类方法
5 使用*来获得对象
布局new操作符用于类对象的语法:
布局new操作符创建的类对象过期时,必须显式的调用析构函数。用该对象的指针调用析构函数方法。
...
一种特殊的初始化数据成员的句法:
类中非静态const数据成员的初始化:构造函数+成员初始化列表
类中声明为引用的成员初始化:构造函数+成员初始化列表