можно объявить функцию template
в обычном классе с классом шаблона или он должен всегда находиться внутри template class
?Шаблоны в C++
3
A
ответ
2
мы можем объявить шаблон функции в обычном классе с из шаблонного класса
Да мы можем. Например
class demo
{
public:
template <typename T>
void func(const T& x) {
//do stuffs
}
};
int main()
{
demo d;
d.func<int>(5);
}
отлично действует
2
Да, вы можете иметь шаблон функции в не-шаблонных классов тоже, например:
struct X {
template<class T>
void f(const T& t) {
// ...
}
};
0
Да, вы можете, но убедитесь, что ваше определение и объявление функции шаблона в заголовочных файлах. Если вы хотите узнать больше, почему это так или больше о шаблонах в целом, я могу порекомендовать вам эту книгу Templates - Complete Guide
Смежные вопросы
- 1. Шаблоны из C++ в C
- 2. шаблоны оператора в C++
- 3. .erb шаблоны в C#
- 4. Шаблоны символов в C
- 5. Бит-шаблоны в C++
- 6. C++ шаблоны в классе
- 7. Шаблоны кода в C++?
- 8. Общие шаблоны в C++
- 9. шаблоны в C++
- 10. Предупреждающие шаблоны в C
- 11. Шаблоны в C++
- 12. Шаблоны в C#
- 13. Вложенные шаблоны в C++
- 14. Альтернативные шаблоны в C++
- 15. шаблоны C++ в проекте iPhone
- 16. Имитировать вариативные шаблоны в C#
- 17. Шаблоны и наследование в C++
- 18. Шаблоны в публичной функции C++
- 19. Наследование и шаблоны в C++
- 20. Шаблоны классов в C++ Basic
- 21. Функциональные шаблоны в C++/CLI
- 22. Функциональные подписи в C++ шаблоны
- 23. Наследование и шаблоны в C++
- 24. Пытаясь сделать шаблоны в C
- 25. Портирование C++ на C# - шаблоны
- 26. C++ шаблоны и препроцессор C
- 27. Шаблоны доступа семафора в C/C++ (Linux)
- 28. C++ шаблоны и наследования
- 29. Шаблоны C++ - основы
- 30. шаблоны C++ с GCC
Я думаю, что вы имели в виду «шаблон класса». Шаблон класса, такой как 'template struct Foo {};' является своего рода шаблоном, но не своего рода классом. Аналогичным образом, «шаблон функции» является другим типом шаблона, а не функцией. –
MSalters
Это должно быть обманом –