【发布时间】:2012-02-29 08:36:11
【问题描述】:
以下情况最好的处理方法是什么?
假设我有一些行为应该像这样
class Foo
{
public:
Foo(Bar& bar):m_bar(bar){}
private:
Bar& m_bar;
};
Foo:s 必须具有对 Bar:s 的有效引用。不同的 Foo:s 也需要不同或相同的 Bar:s。
我想将 Foo:s 存储在一个数组中。但是,由于 Foo 需要一个非默认的构造函数,所以它不起作用。
我可以创建一个指向 Foo:s 的指针数组,但是我需要为该数组中的每个对象调用 new 和 delete。
我可以这样定义 Foo
class Foo
{
public:
void init(Bar& bar)
{
m_bar=&bar;
}
private:
Bar* m_bar;
};
,但是可以创建未初始化的 Foo:s。
一些新的展示位置怎么样?
【问题讨论】:
标签: c++ arrays object pointers reference