#include<iostream>
#include<stdio.h>
using namespace std;
class TEST
{
public:
TEST &fun(TEST sd)
{
int temp;
temp = sd.get_data() ;
TEST tmp(temp);
return tmp;
}
public:
void show(void)
{
cout << this -> data<<endl;
}
int get_data(void)
{
return data;
}
public:
TEST()
{
cout<<this<<"调用构造函数"<<endl;
}
TEST(int x):data(x)
{
cout<<this<<"调用构造函数"<<endl;
}
TEST(TEST &sd)
{
this -> data = sd.data;
cout<<this<<"调用拷贝构造函数"<<endl;
}
TEST& operator = (const TEST &sd)
{
if(this != &sd){
this ->data = sd.data;
}
cout << this << "调用赋值语句"<<endl;
return *this;
}
TEST * operator &()
{
return this;
}
const TEST *operator&()const
{
return this;
}
~TEST()
{
cout<<this<<"调用析构函数"<<endl;
}
private:
int data;
};
int main ()
{
TEST t;
TEST t1(10);
TEST t2= t;
t =t1;
TEST t3 = t.fun(t2);
TEST *p_test = &t3;
return 0;
}
0018FF38调用构造函数
0018FF34调用构造函数
0018FF30调用拷贝构造函数
0018FF38调用赋值语句
0018FEC8调用拷贝构造函数
0018FEA8调用构造函数
0018FEA8调用析构函数
0018FEC8调用析构函数
0018FF2C调用拷贝构造函数
0018FF2C调用析构函数
0018FF30调用析构函数
0018FF34调用析构函数
0018FF38调用析构函数
Press any key to continue
- C++中的六大缺省函数
构造函数
拷贝构造函数
赋值函数
析构函数
普通方法的重载&
常方法的重载&