#include<iostream>
using namespace std;
class Test
{
public:
Test()
{
cout << "Test()" << endl;
m_x = 0;
m_y = 0;
}
Test(int x, int y)
{
cout << "Test(int x,int y)...." << endl;
m_x = x;
m_y = y;
}
Test(const Test &another)
{
cout << "Test(const Test &)..." << endl;
m_x = another.m_x;
m_y = another.m_y;
}
void prinT()
{
cout << "x=" << m_x << ",m_y=" << m_y << endl;
}
~Test()
{
cout << "~Test()..." << endl;
}
void operator=(const Test &another)
{
cout << "operator=(const Test...)" << endl;
m_x = another.m_x;
m_y = another.m_y;
}
private:
int m_x;
int m_y;
};
void test1()
{
Test t1(10, 20);
Test t2(t1);//Test t2=t1;
}
//析构函数调用的顺序,跟构造相反,谁先构造的,谁后析构
void test2()
{
Test t1(10, 20);
Test t2;
t2 = t1;
}
int main()
{
test1();
test2();
return 0;
}