如何在 UML 中显示地图? C++

How do I show map in UML? C++

我有一个“数据库”class,它有一个模板“myMap”,用于存储“客户端”class 的实例。 “myMap”由节点组成(“节点”class 的实例)。我如何在 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;
};

类型 K 和类型 V 之间的映射,在 C++ 中用 std::map<K,V> 表示,通常在 UML 中使用 association with a qualifier 建模,限定符是类型 :K 并且关联的另一端是 V.

类型

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