类的默认构造函数,直接初始化,拷贝构造函数,赋值运算符的执行次数判断
#include<iostream>
#include<algorithm>
using namespace std;
class animal
{
public:
int a;
animal()
{
a = 0;
cout << "默认"<<endl;
}
animal(int x)
{
a = x;
cout << "直接初始化" << endl;
}
animal(const animal& x)
{
a = x.a;
cout << "拷贝" << endl;
}
animal& operator=(const animal& x)
{
cout << "=" << endl;
return *this;
}
animal& tesA(const animal& x)
{
return *this;
}
animal test2(const animal& x)
{
return *this;
}
};
int main()
{
animal A;
animal a2;
cout <<"事例1:";
a2 = A.tesA(A);
cout << "事例2:";
animal a3 = A.tesA(A);
cout << "事例3:" ;
a2 = A.test2(A);
cout << "事例4:" ;
animal a4 = a2.tesA(a2);
system("pause");
return 0;
}
#include<algorithm>
using namespace std;
class animal
{
public:
int a;
animal()
{
a = 0;
cout << "默认"<<endl;
}
animal(int x)
{
a = x;
cout << "直接初始化" << endl;
}
animal(const animal& x)
{
a = x.a;
cout << "拷贝" << endl;
}
animal& operator=(const animal& x)
{
cout << "=" << endl;
return *this;
}
animal& tesA(const animal& x)
{
return *this;
}
animal test2(const animal& x)
{
return *this;
}
};
int main()
{
animal A;
animal a2;
cout <<"事例1:";
a2 = A.tesA(A);
cout << "事例2:";
animal a3 = A.tesA(A);
cout << "事例3:" ;
a2 = A.test2(A);
cout << "事例4:" ;
animal a4 = a2.tesA(a2);
system("pause");
return 0;
}