У меня есть семейство классов, и каждому подклассу нужна карта, но ключи будут иметь разные типы, хотя они оба будут выполнять одни и те же операции с картой. Также значение в обоих случаях будет строкой. Пока у меня есть код, аналогичный приведенному ниже примеру, моя цель — повторно использовать код с помощью универсального ключа. Без использования каких-либо дополнительных библиотек, кроме STL
class A{
public:
/*
* More code
*/
};
class subA1 : public A{
public:
void insertValue(long id, std::string& value){
if(_theMap.find(id) == _theMap.end())
{
_theMap[id] = value;
}
}
private:
std::map<long,std:string> _theMap;
};
class subA2 : public A{
public:
void insertValue(std::string& id, std::string& value){
if(_theMap.find(id) == _theMap.end())
{
_theMap[id] = value;
}
}
private:
std::map<std::string,std:string> _theMap;
};
std::variant
? - person πάντα ῥεῖ   schedule 02.11.2016