【问题标题】:How do I show map in UML? C++ [duplicate]如何在 UML 中显示地图? C++ [重复]
【发布时间】:2021-03-22 07:02:27
【问题描述】:

我有一个“数据库”类,它有一个模板“myMap”,用于存储“客户端”类的实例。 “myMap”由节点(“Node”类的实例)组成。如何在 UML 中显示?

template<typename KEY, typename VALUE> class myMap;

template <typename KEY, typename VALUE>
class Node
{
private:
    friend class myMap<KEY, VALUE>;
    KEY id;
    VALUE object;
    Node* parent;
    Node* left;
    Node* right;
};

template<typename KEY, typename VALUE>
class myMap
{
    Node<KEY, VALUE>* root;
    ////
};

class Client
{
    int id;
};

class Database
{
    myMap<int, Client> clients;
};

【问题讨论】:

    标签: c++ uml associative-array


    【解决方案1】:

    类型 K 和类型 V 之间的映射,在 C++ 中用 std::map&lt;K,V&gt; 标注,通常在 UML 中使用 association with a qualifier 建模,限定符类型为 :K,关联的另一端为类型为V。

    限定符与位于关联第一端的源类型T 结合使用。在 C++ 中,这意味着该映射将是 T 的成员。在您的情况下,它将是 Database。

    【讨论】:

    猜你喜欢
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多