Ich möchte eine HashMap in C++ verwenden, wo die gespeicherten Objekte Instanzen einer benutzerdefinierten Klasse sind. Diese benutzerdefinierte Klasse hat nur einen Konstruktor mit einem Parameter, den ich festlegen muss.Standardwert in einer HashMap für eine benutzerdefinierte Klasse in C++
Die HashMap ermöglicht es, den Standardwert der darin enthaltenen Objekte über ihren Konstruktor zu setzen: HashMap(const mapped_type &v)
.
Das Problem ist, dass ich nicht sicher bin, wie man es benutzt.
Nehmen wir an, meine benutzerdefinierte Klasse heißt Foo
und muss einen int an ihren Konstruktor übergeben.
Wenn ich möchte, dass alle Objekte in der HashMap
mit dem Wert 3 instanziiert werden, sollte ich so etwas tun?
HashMap<String, Foo> myMap(Foo(3));
Ist es erforderlich, eine Kopie Konstruktor in Foo
zu implementieren?
Edit: Ich muss diese bestimmte HashMap und daher den angegebenen Konstruktor verwenden, um den Standardwert zu behandeln.
Bitte zeigen Sie den Code, den Sie bisher haben (oder ein [mvce] (https://stackoverflow.com/help/mcve)) – Patryk