delete某个类的指针会调用该类的析构函数吗?
发布网友
发布时间:2022-04-24 16:00
我来回答
共3个回答
热心网友
时间:2023-10-21 03:17
会的.如果不调用的话怎么析构一个类.
不过指针所指向的对象必须是在堆中用new关键词开创的
如果指针指向的是一个栈中的对象,会引起调用两种析构函数而导致程序错误
如
class ob
ob a;
ob *p=&a;
delete p;//这样会导致调用两次析构函数.是会引起程序错误的
只有
class ob
ob *p=new ob;
delete p; //这样是正确的
热心网友
时间:2023-10-21 03:18
当类的对象离开了它的作用域或者delete表达式应用到一个类对象的指针上时,析构函数会自动调用。
热心网友
时间:2023-10-21 03:18
当然会了