我的代码是像下面,基本上我使用一些外部库,并嵌入了一些类对象,从这个库MyClass的,然后做事情OBJ,正确删除嵌套类对象?
#include "extern_lib.h" //some library
class myClass
{
public:
extern_class *obj1;
extern_class *obj2;
double arr[3];
};
int main()
{
myClass *OBJ= new myClass();
OBJ->obj1 = new extern_class(arg1...);
OBJ->obj2 = new extern_class(arg2...);
//do something like
OBJ->obj1->extern_fun1(arg1...);
OBJ->obj2->extern_fun2(arg2...);
//delete
delete OBJ;
return 0;
}
我想知道,
1 - 为了释放所有对象,是否足以删除OBJ?
2-是否有更好的方法来编写此代码?
对不起,我是新来的C++,但如果我不使用“新”,与“extern_class obj1;”与“OBJ-> obj1 = extern_class(arg1 ...);”它不工作,基本上我需要根据arg1首先初始化obj1。也许我错了... – lorniper 2014-09-12 22:45:22
不知道你可能得到错误。我的代码示例编译是否提供了'extern_class'和'extern_func'的适当声明(当然,重命名'type'并删除省略号)。也许问一个新问题? – 5gon12eder 2014-09-14 13:49:56
现在它的作品,谢谢! – lorniper 2014-09-14 14:21:51