先看下面一段代码
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