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

Функция swap перестановки значений двух переменных для данных разных типов. Используйте template - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Itachirull
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 33
02.07.2014, 17:19     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #1
не могу решить ( честно говоря вообще не понимаю его ) (((((
Напишите функцию swap перестановки значений двух переменных для данных разных типов.
Используйте template(C++)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2014, 17:19     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template
Посмотрите здесь:

C++ Шаблонная функция принимает 2 аргумента разных типов и возвращает больший из них
Создание шаблонной функции для работы с массивами разных типов данных C++
C++ Не считает произведение разных типов данных
C++ Может ли виртуальная функция возвращать значения разных типов?
C++ Определить наибольшее из 3 чисел для данных разных типов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
02.07.2014, 17:27     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
template <class T>
void swap(T& _a, T& _b)
{
    T temp = _a;
    _a = _b;
    _b = temp;
}
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
02.07.2014, 17:39     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #3
CheshireCat,
Цитата Сообщение от Itachirull Посмотреть сообщение
для данных разных типов
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
02.07.2014, 17:41     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #4
Цитата Сообщение от Itachirull Посмотреть сообщение
для данных разных типов.
что то даже в голову ничего не идет
как можно поменять int double например?
JavaUser
68 / 68 / 15
Регистрация: 06.10.2013
Сообщений: 302
02.07.2014, 17:42     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #5
Цитата Сообщение от Toshkarik Посмотреть сообщение
CheshireCat,
Сообщение от Itachirull
для данных разных типов
Вам написали уже ответ. Данная функция меняет местами две переменных любого типа
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
02.07.2014, 17:42     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #6
А без разницы. Задание есть задание. Сам факт преобразования одного в другое это позволяет.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
02.07.2014, 17:43     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #7
Цитата Сообщение от JavaUser Посмотреть сообщение
Данная функция меняет местами две переменных любого типа
разные типы а не одинаковые
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
02.07.2014, 17:45     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #8
JavaUser, по мне так смысл задания ближе к тому, что типы меняемых переменных должны быть разными. А может, я и не прав.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
03.07.2014, 10:40     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #9
Хм
А вот в этом случае возникает логичный вопрос: а что должно получиться в результате? Рассмотрим код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct A {
     // .... здесь очень сложная структура данных....
};
 
A a = { .... };
std::string b = "Мама мыла раму";
 
// причем, ни преобразование A -> string, ни преобразование string -> A невозможны, т.к. по сути предметной
// области не имеют смысла. 
 
template <class T1, class T2>
void swap(T1& _a, T2& _b)
{
    // ....
}
Что должно получиться в результате в переменных _a и _b ? Учтем, что ни преобразование _a -> _b, ни преобразование _b -> _a по сути предметной области не имеют смысла.

[Несколько утритуя, приведу такой пример: пусть struct A a - это набор характеристик температуры и давления на разных высотах ядерного взрыва, а string b - это набор ключевых слов и фраз для контекстного поиска в Интернете.]
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
03.07.2014, 10:54     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #10
CheshireCat,
в соседней ветке ТС сказал что данные однотипные
Определить наибольшее из 3 чисел для данных разных типов
, а здесь почему то нет
тогда твое решение правильное (второй пост)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2014, 11:06     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template
Еще ссылки по теме:

C++ Сравнение переменных разных типов
C++ Адреса двух разных переменных одинаковы
C++ Функция приема разных типов в классе

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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4838 / 2977 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
03.07.2014, 11:06     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template #11
Вы не правильно поняли задание. Нужен один шаблон. Все правильно.
Не для параметров разных типов, а просто данных.
Yandex
Объявления
03.07.2014, 11:06     Функция swap перестановки значений двух переменных для данных разных типов. Используйте template
Ответ Создать тему
Опции темы

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