出自:C++语言程序设计基础——清华大学郑莉老师
一、浅层复制
实现对象间数据元素的一一对应复制
如下图,只是复制指针本身,两个指针所指的内存单元相同,数组没有被复制。
所以析构的时候会出错,因为指针1指向的内存单元已经被析构了,在析构指针2指向的内存单元时 自然会出错。
#include "pch.h"
#include <iostream>
//#include<vector>
#include<cassert>
using namespace std;
class Point {
private:
int x, y;
public:
Point() :x(0), y(0) {
cout << "调用默认构造函数..." << endl;
}
Point(int x, int y) :x(x), y(y) {
cout << "调用构造函数..." << endl;
}
Point(const Point& p) {
x = p.x;
y = p.y;
cout << "调用复制构造函数..." << endl;
}
~Point() {
cout