我的代碼是像下面,基本上我使用一些外部庫,並嵌入了一些類對象,從這個庫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