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

Шаблон функций - C++

Восстановить пароль Регистрация
 
demigod324
4 / 2 / 0
Регистрация: 17.03.2013
Сообщений: 102
29.01.2014, 17:31     Шаблон функций #1
Можно ли сделать шаблон, заменив данные функции:
C++
1
2
3
int f(int, int)
float f(float, float)
char* f(char*, char*)
Если нет, то почему? Если да, то приведите какой-нибудь пример.
Заранее, спасибо)
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
29.01.2014, 17:33     Шаблон функций #2
demigod324,
C++
1
2
template < typename T>
T f (T, T);
это пример объявления Вашей функции через темплейты
KOPOJI
Модератор
 Аватар для KOPOJI
16243 / 6454 / 390
Регистрация: 12.06.2012
Сообщений: 19,362
29.01.2014, 17:39     Шаблон функций #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
template <typename T>
T f(T, T);
 
int main(int argc, char *argv[])
{
    f(10, 20);
    f(10.5, 25.5);
    f("foo", "bar");
 
    return 0;
}
 
template <typename T>
T f(T a, T b)
{
    std::cout << "------------------" << std::endl << a << std::endl << b << std::endl;
    return a;
}
Только проверки типа не выполняется...
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
29.01.2014, 17:50     Шаблон функций #4
Цитата Сообщение от KOPOJI Посмотреть сообщение
Только проверки типа не выполняется...
Что Вы этим хотели сказать?
KOPOJI
Модератор
 Аватар для KOPOJI
16243 / 6454 / 390
Регистрация: 12.06.2012
Сообщений: 19,362
29.01.2014, 18:04     Шаблон функций #5
Tulosba, в смысле, что можно задать любые аргументы и спокойно "съест".. Наподобие такого
C++
1
f(10UL, 20UL);
ведь уже будет не обычный "int"
Правда, не знаю, имеет ли это значение в данном случае..
Yandex
Объявления
29.01.2014, 18:04     Шаблон функций
Ответ Создать тему
Опции темы

Текущее время: 10:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru