Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Можно ли в не шаблонном классе создать шаблонные методы? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Захват аудио и видео потоков http://www.cyberforum.ru/cpp-beginners/thread1110913.html
Стоит задачка захватить аудио дорожку и видео-поток с окна и все это смикшировать в фильм. Грубо говоря фрапс со звуком. Видео и аудио уже записываются в реалтайме. Но записываются в разные файлы....
C++ Unresolved external symbol main referenced in function __tmainCRTStartup Ребята, у меня в солюшене 2 проекта. Один - статическая библиотека, другой - GUI. При компиляции, выскакивает ошибка(которая в теме написана). При этом я собирал весь проект с помощью CMake.... http://www.cyberforum.ru/cpp-beginners/thread1110891.html
Дано натуральное число n. Посчитать S=1+1/2+1/3...+1/n C++
Дано натуральное число n. Посчитать S=1+1/2+1/3...+1/n.
C++ Как расположить шаблонный класс в разных файлах?
Есть некоторый класс A, он размещен в разных файлах так: main.cpp : #include <iostream> #include "a.h" int main() { A a; } a.h : #ifndef A_H
C++ Как проверить максимальное значение long double http://www.cyberforum.ru/cpp-beginners/thread1110866.html
Доброго времени суток. Вот пример проверки int. if((x > 0 && y > 0 && x > INT_MAX - y) || (x < 0 && y < 0 && x < INT_MIN - y)) Как проверить максимальное значение long double? Спасибо.
C++ Керлинг С++ Задача А. Кёрлинг Ограничения по времени: 2 секунды Ограничения по памяти: 64 мегабайт Входной файл: A.in Выходной файл: A.out Далер, Баян, Рустембек и Нурлыбек с напряжением следили за... подробнее

Показать сообщение отдельно
Artemka101
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 12

Можно ли в не шаблонном классе создать шаблонные методы? - C++

04.03.2014, 15:27. Просмотров 597. Ответов 20
Метки (Все метки)

Можно ли в не шаблонном классе создать шаблонные методы?

Пример:
Есть перегруженная функция например:
C++
1
void test(int x),test(float x), test(std::string x) { std::cout << x << std::endl; }
Допустим есть класс:
C++
1
2
3
4
5
6
class A
{
   public:
       A() {}
       void my_test(x) { test (x); }
};
в таком виде мне придется перегрузить метод my_test() - столько же раз сколько перегружена функция test - это не удобно
Если сделать так:
C++
1
2
3
4
5
6
class A
{
   public:
       A() {}
       template<class T>void my_test(T t) { test (t); }
};
так было бы удобней
Вопрос в том как это использовать?
Программа компилируется нормально, но при использовании:
C++
1
2
A a;
a.my_test(10);
Возникает ошибка:
Код
(.text.startup+0x67):-1: ошибка: undefined reference to `void A::my_test<int>(int)'
Помогите разобраться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru