最新回答 / 杨凯凯
谁说析构函数只执行了一次呢?在栈中定义的三个对象,是由系统自动执行了析构函数,在你按任意键后,很快就执行了,只是没看见而已。而在堆中定义的三个对象,是需要手动释放内存的,每执行一次delete p,就会在黑框里显示~Coordinate().
2016-11-19
最赞回答 / qq_Laughing_7
进行对象实例化的时候,若定义为 Array arr(le);//此时自动调用构造函数,将le 的值传递给m_iLen;而setLen()函数需要你手动调用,看你自己需不需要;
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