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

шаблоны функции - C++

Восстановить пароль Регистрация
 
SANA23
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 19
19.04.2010, 15:45     шаблоны функции #1
помогите решить

Описать шаблон функции, меняющей местами значения двух переданных в нее параметров.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2010, 15:45     шаблоны функции
Посмотрите здесь:

C++ Шаблоны функции
C++ Шаблоны функции
C++ Функции-шаблоны
Шаблоны функции C++
C++ Шаблоны функции | C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
19.04.2010, 15:53     шаблоны функции #2
C++
1
2
3
4
5
6
7
template <class Т> 
void exchange(Т а, Т b)
{ 
    T temp=a;
    a=b;
    b=temp;
}
ProNoooob
71 / 71 / 6
Регистрация: 14.10.2009
Сообщений: 121
19.04.2010, 15:55     шаблоны функции #3
Цитата Сообщение от SANA23 Посмотреть сообщение
помогите решить

Описать шаблон функции, меняющей местами значения двух переданных в нее параметров.
C++
1
2
3
4
5
6
7
template <typename T>
void my_swap(T &a, T &b)
{
    T tmp = a;
    a = b;
    b = tmp;
}
Добавлено через 48 секунд
Цитата Сообщение от neske Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
template <class Т> 
Т exchange(Т а, Т b)
{ 
    T temp;
 
    temp=a;
    a=b;
    b=temp;
}
Ваш код не верен, ибо параметры передаются по значению.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
19.04.2010, 16:07     шаблоны функции #4
ProNoooob, чем не годится такой вариант?
код.
C++
1
2
3
4
5
6
7
template <class T>
void exchange(T a, T b)
{
        T temp = a;
        a = b;
        b = temp;
}


Условие задания он выполняет.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.04.2010, 16:15     шаблоны функции #5
Цитата Сообщение от neske Посмотреть сообщение
чем не годится такой вариант?
тем, что значения передаваемых переменных не меняются. Правильно Вам сказали - переменные надо по ссылке передавать.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
19.04.2010, 16:18     шаблоны функции #6
Полный код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
 
template <class T> void exchange (T, T );
 
int main()
{
        setlocale( LC_ALL,"Russian" );
 
        int a,b;
        std::cout << "a: ";
        std::cin >> a;
        std::cout << "b: ";
        std::cin >> b;
 
        exchange(a,b);
 
        system("pause");
        return 0;
}
 
template <class T>
void exchange(T a, T b)
{
        T temp = a;
        a = b;
        b = temp;
 
    std::cout << "a: " << a << std::endl;
    std::cout << "b: " << b << std::endl;
}
Миниатюры
шаблоны функции  
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
19.04.2010, 16:23     шаблоны функции #7
neske, почему второй раз выводит функция?
Попробуйте ПОСЛЕ вызова функции
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
19.04.2010, 16:24     шаблоны функции #8
Но если попробовать вывести в main, то да, значение не изменятся.
Теперь все ясно, спс.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2010, 17:03     шаблоны функции
Еще ссылки по теме:

Шаблоны функции | C++ C++
Шаблоны функции C++
C++ Перевести код из функции в шаблоны функции

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SANA23
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 19
19.04.2010, 17:03  [ТС]     шаблоны функции #9
спс всем кто помог
Yandex
Объявления
19.04.2010, 17:03     шаблоны функции
Ответ Создать тему
Опции темы

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