先看下面一段代码 class person { person() { //无参构造函数 } person(int a) { //有参构造函数 } person(const person *p) { //拷贝构造函数 } ~person { //析构函数 }
} 构造函数,就是在函数被创建一个对象的时候会调用它构造方法,只会调用一次并且是其中一种的构造方法;
1:调用无参构造 在栈中创建: person person1; 在堆中创建 person *person1=new person
2:调用有参构造 在栈中创建: person person2(1); person person2=person(1); person person2=1;//隐式调用;ps:在构造函数前面加上explict ,可以防止进行隐式调用 在堆中创建: person* person2=new person(1);
3:调用拷贝构造: person* person3=new person(person2); person person3(person2); person person3=new person(person2);
析构函数:就是在这个类对象的生命结束时会调用它的析构函数,并且只会调用一次;它的主要用法就是删除指针, ~person { delete person1,person2,person3; }
================= 如果各位小伙伴觉得我写的不够详细或错误,以及有什么不懂的,想补充的,请在下方留言或者发送您宝贵的建议到我邮箱283682639@qq.com