C++ 构造函数
默认构造函数(default)
class joker{ joker()=default; };
当出现有参数的构造函数时,编译器就不会创建默认构造函数。但是又想生产默认构造函数怎么办,default 作用就是声明一个默认构造函数。
default可以用于构造函数,拷贝构造函数,析构函数。
浅拷
class joker{ public: joker(joker& clown){ a=clown.a; b=clown.b; } int a,b; };
为什么必须要用引用?
不加引用的话会产生拷贝递归,形参与实参的拷贝会无休止的进行。
深拷
class joker{ public: joker(joker& clown){ a=clown.a; b=clown.b; c=new char[strlen(clown.c)]; strcpy(clown.c,c); }
~joker(){
delete []c;
} int a,b; char *c; };
深层拷贝的目的是防止指针变量被析构两次,造成内存泄漏。

浙公网安备 33010602011771号