不多bb,我们直接用一个小实验来说明C++中深拷贝和浅拷贝的区别。在这之前我们先看看代码吧!
Person类的设计(放在Person.h头文件中)
#pragma once
#include<iostream>
#include<cstring>
using namespace std;
class Person {
private:
string name; // 姓名
string gender; // 性别
int age; // 年龄
int* height; // 身高
public:
// 设置姓名
void setName(string name);
// 设置性别
void setGender(string gender);
// 设置年龄
void setAge(int age);
// 设置身高
void setHeight(int height);
// 获取姓名
string getName();
// 获取性别
string getGender();
// 获取年龄
int getAge();
// 获取身高
int getHeight();
// 默认构造函数
Person();
// 有参构造函数
Person(string name, string gender, int age,int height);
// 拷贝构造函数
Person(const Person& p);
// 析构函数
~Person();
};
Person类成员函数的实现(放在Person.cpp源文件中)
#include"Person.h"
// 设置姓名
void Person::setName(string name) {
this->name = name;
}
// 设置性别
void Pe