|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.04.2018, 13:51 | #1 |
Пользователь
Регистрация: 22.09.2017
Сообщений: 45
|
Перегрузка шаблона типа
Всем доброе время суток,вопрос вот в чем заключается,как перегрузить шаблон типа?
функция template <class T> Complex<T>:: operator T() { } вызов cout << static_cast<double>(c5) << endl; |
28.04.2018, 14:30 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Приведите результат к типу T и верните return-ом либо пишите специализации шаблона для нужных типов:
Код:
Последний раз редактировалось waleri; 28.04.2018 в 14:34. |
28.04.2018, 14:43 | #3 |
Пользователь
Регистрация: 22.09.2017
Сообщений: 45
|
|
28.04.2018, 14:59 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
static_cast<T>(тут_ваши_данные)
|
28.04.2018, 17:07 | #5 |
Пользователь
Регистрация: 22.09.2017
Сообщений: 45
|
template <class T>
Complex<T>:perator T() { return static_cast<T>(Pair->first,Pair->second); } Ошибка complex.cpp:33:31: error: invalid static_cast from type ‘Complex<int>’ to type ‘double’ cout << static_cast<double>(c5) << endl; ^ что-то не выходит,то ли я тупой,то ли лыжи не едут ((( |
28.04.2018, 17:23 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,724
|
Начнем с простого: что вы подразумевали под
Код:
|
28.04.2018, 17:35 | #7 |
Пользователь
Регистрация: 22.09.2017
Сообщений: 45
|
так в том то и проблема,я не понимаю как это работает, я используя static_cast для обьекта класса передаю double ,вопрос,где я егол принимаю,как я его должен принимать этот тип и обрабатывать
|
28.04.2018, 17:46 | #8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,724
|
У вас какая-то путаница в голове. Что вы куда передаете?
Операторы приведения типа вызываются, когда ваш класс приводится к какому-то типу. Естественно, у него есть (ему передается) объект вашего класса и вы должны вернуть нужный тип. Повторю вопрос: что вы понимаете (представляете, хотите записать) под приведением вашего комплексного числа к инту или даблу? |
28.04.2018, 17:55 | #9 |
Пользователь
Регистрация: 22.09.2017
Сообщений: 45
|
это тестовый класс комплексных чисел,поэтому созданный ранее обьект класса как инт вывести в формате дабл в поток выводы
|
28.04.2018, 17:58 | #10 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,724
|
Еще раз: ваш класс, состоящий из ДВУХ чисел, приводят к ОДНОМУ числу типа int или double. Напишите формулу
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание шаблона класса с 1 параметром типа | Valera97 | Общие вопросы C/C++ | 0 | 13.06.2017 14:24 |
Вывод типа возвращаемого значения шаблона | Aoizora | Общие вопросы C/C++ | 2 | 02.06.2017 21:00 |
получение ссылки на функцию из класса шаблона и передача ее как параметр шаблона | pror0ck | Общие вопросы C/C++ | 7 | 17.06.2012 15:06 |
Использование файлов XLS в качестве шаблона и отображение этого шаблона в приложении Delphi? | vodyara | Общие вопросы Delphi | 0 | 23.04.2012 13:13 |
Перегрузка бинарных арифметических операторов шаблона класса | NecroArt | Помощь студентам | 2 | 10.08.2010 21:31 |