已采纳回答 / 疯狂小惠
该指针定义的是 Coordinate * const pCoor = &coor1; 指针pCoor是常指针,只是它只能指向coor1,不能指向其他的对象,但是它的权限还是读写权限
2016-11-21
最新回答 / 杨凯凯
谁说析构函数只执行了一次呢?在栈中定义的三个对象,是由系统自动执行了析构函数,在你按任意键后,很快就执行了,只是没看见而已。而在堆中定义的三个对象,是需要手动释放内存的,每执行一次delete p,就会在黑框里显示~Coordinate().
2016-11-19
最赞回答 / qq_Laughing_7
进行对象实例化的时候,若定义为 Array arr(le);//此时自动调用构造函数,将le 的值传递给m_iLen;而setLen()函数需要你手动调用,看你自己需不需要;
2016-11-14
已采纳回答 / qq_闭上眼默_0
老师说的是j=3哦。前面从堆上申请了p数组;在对p数组进行实例化时候进行了两次p++,p走到了第三个元素的位置;如果只进行两次p--,那么p 刚好回到第一个元素的位置。但是在对p数组遍历时候,进行了三次p--。p已经跑出我们申请的内存范围了。所以需要再来一次p++,使得p回到内存中的第一个元素的位置上来,在进行delete[]p 释放。
2016-11-14
最新回答 / 慕勒4378916
Student stu[5]相当于有五个对象,因为他们的地址是不同的。要是拷贝构造函数的话地址是相同的。Student stu[5]就相当于是开辟了5个连续空间的地址,分别将五个对象元素指向一块地址,地址不同就一定不是调用的拷贝构造函数。
2016-11-02
最新回答 / 杨凯凯
哈哈,是这样子的。arr中的m_pArr和arr1中的m_pArr确实是不一样的,因为它们各自指向不同的内存,可是,深拷贝就硬是把,arr中的m_pArr这个指针变量所指向的内存中的值,给了arr1中的m_pArr所指向的内存单元。还有就是,最后在黑框中显示出来的内容,就是这两个指针变量所指向内存中的内容,所以当然会一样啦。
2016-10-28