【发布时间】:2014-01-03 04:16:32
【问题描述】:
比如说我有两个班级。
我知道一种方法是在构造函数中传递一个指向 Foo 对象的指针,然后在 Object 中使用它,但这是处理事情的好方法吗?
还有其他更合适的吗? 谢谢。
class Object
{
private: //etc
public:
void doStuff()
{
//access the foo object (x) created in main.
}
};
class Foo
{
private: //etc
public:
void function()
{
Object * obj = new Object();
obj->doStuff();
}
};
int main(int args, char**argv)
{
Foo * x = new Foo();
x->function();
return 0;
}
【问题讨论】:
-
为什么不使用继承?
-
你想做什么?我所看到的只是你的主要,创建一个 Foo 实例,然后调用一个函数。在该函数中,您创建一个 Object 实例,然后在其上调用一个函数。问题是什么?
-
"一种方法是" --- 一种方法做什么? “接近事物”---什么样的事物?此外,泄漏内存肯定是一种非常糟糕的做法。
-
“不良做法”和“正常”并不相互排斥。
标签: c++ class pointers scope global