1.C++在非OOP方面的扩充
2.函数重载回顾
注意:下图爆红代码,编译器无法正确匹配函数(存在多义性)。
正常运行。
3.作用域运算符::
4.new和delete
说明:这里p已经声明为int*指针,不需要特意强调new int,编译器会自动识别。
强调:
使用new可以动态开辟数组空间,但是必须提供数组每一维的大小,如:int* p = new int[2][3][4]
;
new可以为简单变量初始化,如:int* p = new int(5)
,但是不能对数组初始化;
使用delete释放动态数组空间,如:delete []p
,不需要指出所删除数组的维数和大小。
5.引用
不允许建立void类型的引用,因为void本质上不是一个类型;
不能建立数组的引用,不能建立引用的引用。
demo1:
demo2:
6.对象数组与数组指针
对象数组及其初始化
demo1:
demo2:
demo3:
demo4:
对象指针
this指针
作用基本同Java的this(这里其实没必要加上)
7.向函数传递对象
8.构造函数与析构函数的执行次序
构造函数在对象被创建时调用,析构函数在对象被删除前调用。
后调用的对象先调用析构函数,与构造函数的执行顺序相反。
1 |
|