-
浅拷贝和深拷贝的区别在于:如果对象中有初始化指针,在浅拷贝的时候仅仅是把指针中所存的地址赋给另一个对象,那么浅拷贝会将两个不同对象的指针指向一个相同的地址,当一个对象通过指针进行一些改变时,通过浅拷贝构造的对象也会发生改变,这是我们不愿意的,若构造函数中进行了内存的申请,那么该内存不止释放一次,在释放内存的时候会发生不可预计的错误。而深拷贝则将两个不同对象的指针分别指向不同的地址,不会出现浅拷贝所引发的错误。查看全部
-
对象成员:顾名思义就是一个类里的[成员]含有另一个[类],如图中看出是在line的类中含有coordinate。 注意:实例化过程是先定义产生对象成员的类,然后再产生含对象成员的类(先实例化A、在实例化B、最后实例化Line),销毁的顺序相反查看全部
-
不知道说啥查看全部
-
共执行了6次构造函数,栈中(数组)3次,堆中(new申请)3次查看全部
-
delete p不加[]只销毁第一个,所以得加[]查看全部
-
第三次p--后p指向非法内存,delete时释放的不是原现申请的内存,所以先p++,再释放内存。查看全部
-
const Coordinate *p = &coor;查看全部
-
这里定义的是一个具有读写权限的指针,只是控制的是他的指向而已查看全部
-
对象引用和对象指针查看全部
-
对象数组查看全部
-
常对象才可以调用常成员函数,常对象的定义是在对象前面加const 而常成员函数的定义是在函数的末尾加const 原理是:常对象成员函数是一个具有this指针的参数隐藏在里面,加上const之后只允许传入的值是一个常对象查看全部
-
常成员的初始化也要通过初始化列表查看全部
-
当想初始化常对象成员的初始化要通过初始化列表查看全部
-
常对象成员的定义查看全部
-
这里给点的类先用const修饰查看全部
举报
0/150
提交
取消