C++函数的构造与析构以及创建类对象

mac2022-06-30  21

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

最新回复(0)