-
1.实例化对象A时,如果对象A有对象成员B,那么先执行对象B的构造函数,再执行A的构造函数 2.如果对象A中有对象成员B,那么销毁对象A时,先执行对象A的析构函数,再执行B的析构函数 3.如果对象A中有对象成员B,对象B没有默认构造函数,那么对象A必须在初始化列表中初始化对象B。 不论是在堆或栈里创建对象数组,数组有几个元素就调用几次构造函数。在堆中创建的必须手动释放(释放时不要忘了[],否则只释放第一个元素的空间,其他元素空间没有被释放,内存泄露),释放时调用析构函数。在栈中创建的对象,在程序结束时系统会自动回收内存,不再调用析构函数。查看全部
-
Array& Array::printInfo() { cout<<"Len"<<endl; return *this; } 返回引用。查看全部
-
注意!浅拷贝所存在的问题, ① 指针变量指向了同一块内存;查看全部
-
深拷贝就是将指针数组中的每一个元素都拷贝到目标中对应的内存区间中查看全部
-
先画树叶,再画枝干; 先擦枝干,再擦树叶.查看全部
-
先大儿子 再小儿子 然后父对象完成 先实例的 后销毁查看全部
-
尽量不用 p++,p--之类的操作; 改用 p2++,p2--查看全部
-
创建常指针:const Coordinate *p=& coor; 创建常引用:const Coordinate &c=coor;查看全部
-
普通数据对象成员:既能调用普通成员函数,也能调用常成员函数 常数据对象成员:只能调用常成员函数 普通成员函数:既能调用普通成员函数,也能调用常成员函数;既能使用普通数据成员,也能使用常数据成员,但对常数据成员只用读权限 常成员函数:只能调用常成员函数;既能使用普通数据成员,也能使用常数据成员,但对常数据成员只用读权限 普通对象、普通引用和普通指针:既能调用普通成员函数,也能调用常成员函数 常对象、常引用和常指针:只能调用常成员函数查看全部
-
构造函数(形参){指针名字 = new 类型名} 析构函数(){delete 指针}查看全部
-
对象各自的this指针指向各自对象的首地址,所以不同对象的this指针一定指向不同的内存地址查看全部
-
this的值是对象本身地址;*this 就是对象arr1 1、 Array ... return *this 相当于: Array arrX = arr1; arrX是一个新的对象。即返回的this指针为另一个临时对象 2、 Array& ... return *this 相当于: Array & arrX = arr1; 此时arrX是arr1的别名。 3、 Array* ... return this 相当于: Array* arrX = this; 此时arrX的值 是地址,且是指向arr1的。用->访问或者*p. 访问查看全部
-
通过引用与指针都能对对象进行操作,若在成员函数中要返回当前对象,需要返回对象的引用,才能是同一个对象,否则会是一个不同的临时对象。同样指针也可以,直接返回this即可。查看全部
-
装箱的时候先装零件,拆箱的时候先把箱子拆开。查看全部
-
this指针相当于它所对应对象的地址查看全部
举报
0/150
提交
取消