Я все еще изучаю шаблоны. Я не уверен, что вы можете объявить / (автоматически определить) функцию внутри класса (метода), используя шаблон. То есть у меня есть такой шаблон функции, например:
template<typename T>
T getT() {
T result;
return result;
}
И класс, в котором я хочу, чтобы "новая функция" была создана на основе шаблона, например:
class World{
public:
World();
~World();
getT<int>; //"Magically" create new function from the template (return type 'int')
}
Что я на самом деле хочу, так это иметь только метод с определенным заданным типом в World. Это означает, что когда я хочу «волшебным образом» создать метод на основе шаблона, я хочу отсортировать и вставить функцию шаблона в класс, но с заданным типом.
Например:
class World{
public:
World();
~World();
//The magically created function with T equal to int
int getT(){
int result;
return result;
}
}
Тогда, конечно, я ожидаю, что смогу вызвать функцию:
int main(){
World world; //Create world object
world.getT<int>; //Call the function
return 0;
}
Даже при том, что здесь я говорю, что я назвал бы это с getT<int>
, это могло бы быть только getT()
(если это идеальная копия-вставка функции шаблона).