按组成相关的 class 个对象的术语

terminology for class objects related by composition

class C {
private:
    int j;
};

class B {
private:
    C c;
};

class A {
private:
    B b;
};

A a;

我想知道 C++ 中组合层次结构的正确术语是什么:

我很想使用诸如子、父、根、基础、子对象等术语,但这些似乎通常指的是继承关系或者是模棱两可的。 "Contained object" 似乎没问题(虽然有点笨拙),但在另一个方向我不能说 "container" (已经指矢量、地图等)。是否有任何简洁和常规的方式来描述这些关系?

这摘自以下的精彩概要:https://en.wikipedia.org/wiki/Has-a

什么是 bc

cb 的 "meronym" 或 "constituent"。这是"part-of"关系。

什么是 cb

bc 的 "member" 或 bc 的 "composed"。这是 "has-a" 关系。

什么是 ac,反之亦然?

尽管 "grandchild"、"grandparent" 或 "intermediate class" 可能会被抛出,但用于谈论跳转两级层次结构的面向对象术语是不一致的。

在这种特殊情况下,可以公平地说 c 是 "meronym of a's member" 或 "constituent of a's member"。而那个“a的成员由c”组成。

但无论哪种情况,您实际上只是在尝试描述该层次结构。