Я пытаюсь написать функцию для класса базы данных, которая в основном представляет собой оболочку вокруг hash_map объектов (например, фигур), индексированных идентификационными номерами, которые будут искать идентификатор и передавать его соответствующему типу указателя.Можно ли взять тип в качестве аргумента в функции?
например. Я хотел бы быть в состоянии сделать что-то вроде этого:
Circle* shapeToLookup = NULL;
int idNum = 12;
database.lookup(idNum, circleToLookup);
if(circleToLookup != NULL)
{
// Do stuff with the circle.
}
и есть база данных о типе аргумента. Есть ли способ сделать это без перегрузки функции (lookup(int, Circle*)
, lookup(int, Rect*)
, ad nauseum)? Можете ли вы объявить такую функцию, как lookup(int, Shape*)
, и знать, какой тип она дана?
Спасибо!
ИМО, это вопрос базы данных. Вы также не говорите, что такое БД. Я бы посмотрел ключевое слово SQL «LIKE». – JustBoo
Как вы планируете передавать информацию о типе в базу данных? (или я должен сказать, как это получит база данных?) –
Если вы хотите, чтобы база данных * что-то делала * с этой информацией, вам нужно будет написать некоторый код для конкретного круга, некоторый код для конкретного прямоугольника и т. д. ad nauseam. Вопрос: * где * вы хотите поместить этот код. Можете ли вы рассказать нам, что вы хотите сделать в базе данных? – Beta