【发布时间】:2010-06-06 03:53:58
【问题描述】:
我想知道您是否认为以下代码通常表明设计不佳......
class X
{
public:
...
private:
Y y;
};
Class Y
{
public:
Y( X& value ){ x = value; };
private:
X& x;
}
(即类 X 和 Y 之间存在某种循环依赖关系)。
【问题讨论】:
-
@Amardeep:你愿意详细说明一下吗?
-
x = value需要在初始化列表中,否则无法编译。 :-) -
@Oli:循环依赖是松散耦合的对立面。但当我更仔细地观察它并意识到它只是 Y 中 X 的引用时,它看起来不再那么糟糕了。
-
您的代码无法编译。而 that 是糟糕的设计。这可能是一个小错误,但如果我们不知道您的代码实际上是什么样子,我们必须猜测我们的意思,然后我们无法确定我们的答案是否正确。
标签: c++ class dependencies