#include<iostream>
using namespace std;
class person
{
public:
person(int age)
{
m_age = new int(age);
}
int *m_age;
~person()
{
if (m_age != NULL)
{
delete m_age;
m_age = NULL;
}
}
person & operator=(person &p)
{
//m_age = p.age
if(m_age != NULL)
{
delete m_age;
m_age = NULL;
}
m_age = new int(*p.m_age);
return *this;
}
};
void test01()
{
person p1(10);
cout << p1.m_age << endl;
person p2(20);
person p3(30);
cout << p2.m_age << endl;
p3 = p2 = p1;
cout << p1.m_age << endl;
cout << p2.m_age << endl;
cout << "p1 age" << *p1.m_age << endl;
cout << "p2 age" << *p2.m_age << endl;
cout << *p3.m_age;
}
int main()
{
test01();
return 0;
}
C++ 运算符重载赋值运算符
最新推荐文章于 2024-10-13 12:52:22 发布