一. 思维导图
二. 练习
#include <iostream>
using namespace std;
class Person
{
private:
int age;
int *p;
public:
//无参构造
Person():p(new int(89))
{
age = 18;
}
//有参构造
Person(int age,int num)
{
this->age = age;
this->p=new int(num);
}
//拷贝构造函数
Person(Person &other) {
this->age = other.age;
//浅拷贝
//this->p = other.p;
//深拷贝
if (this != &other) {
this->p = new int;
}
*(this->p) = *(other.p);
}
//拷贝赋值函数
Person &operator=(const Person &other){
this->age = other.age;
*(this->p) = *(other.p);
return *this;
}
//析构函数
~Person(){
delete p;
}
};
int main()
{
return 0;
}