C++类默认生成的函数有哪些,能一口气写全写正确并不是那么简单的事,好记性不如烂笔头,罗列C++的默认函数方便速查。
class Test
{
public:
//无参数默认构造函数
Test()
{
cout << "test1" << endl;
}
//拷贝构造函数
Test(const Test &t)
{
cout << "test2" << endl;
}
//赋值构造函数
Test &operator=(const Test &t)
{
cout << "test3" << endl;
}
//取址
Test *operator&()
{
cout << "operator1" << endl;
return this;
}
const Test *operator&() const
{
cout << "operator2" << endl;
return this;
}
//析构
~Test()
{
cout << "destructor" << endl;
}
};
实验代码:
int main()
{
Test t1;
Test t2(t1);
Test t3 = t1;
Test t4;
t4 = t1;
Test *p1 = &t1;
const Test *p2 = &t2;
const Test &tt = t1;
const Test *p3 = &tt;
return 0;
}
输出结果:
test1
test2
test2
test1
test3
operator1
operator1
operator2
destructor
destructor
destructor
destructor