1.构造函数
2.拷贝构造函数
3.赋值函数
4.析构函数
5.取址运算符
6.取址运算符const
#include<iostream>
using namespace std;
class Test
{
public:
Test(int data=0):m_data(data)
{
cout<<"create Test object:"<<this<<endl;
}
Test(const Test &t)
{
m_data = t.m_data;
cout<<"copy create Test object:"<<this<<endl;
}
Test& operator=(const Test &t)
{
cout<<"assign:"<<this<<"="<<&t<<endl;
if(this !=&t)
{
m_data = t.m_data;
}
return *this;
}
~Test()
{
cout<<"free Test object:"<<this<<endl;
}
Test *operator&()
{
return this;
}
const Test *operator&()const
{
return this;
}
private:
int m_data;
};
void main()
{
Test t;//构造函数
Test t1=t;//拷贝构造
Test t2;
t2 = t;//赋值构造
Test *pt = &t;//取址
const Test t3;//const取址
const Test *pt1;
pt1 = &t3;
}