|
|
||||||||||||||||
Как можно переопределить <обобщенный аргумент> в обобщенном классе01.09.2012, 01:07. Показов 3743. Ответов 32
Метки нет (Все метки)
допустим есть что то простое
print.hpp
print.cpp
main.cpp
Хочется что бы можно было бы в зависимости от ситуации менять Print< тип данных вот тут > p ; Как это можно сделать попробовал вот так //Print< get_type(bb)> p ; типа не хочет компелироваться вообще возможно ли это ???
0
|
||||||||||||||||
| 01.09.2012, 01:07 | |
|
Ответы с готовыми решениями:
32
Как можно переопределить <обобщенный аргумент> в обобщенном классе используя BOOST Как использовать обобщенный метод в не-обобщенном классе?
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 01.09.2012, 01:16 | |
|
Leeto, Нет. Тип - должен быть известен на этапе компиляции.
1
|
|
| 01.09.2012, 01:50 | |
|
Не по теме: Leeto, нет никакого смысла включать в заголовочный файл print.hpp код print.cpp.
1
|
|
|
|
|||||||||||||
| 01.09.2012, 01:55 [ТС] | |||||||||||||
это типплейт Добавлено через 1 минуту я решил тупо все сразу всключь а ля
0
|
|||||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 01.09.2012, 02:32 | |
|
lazybiz, Есть. Релизация шаблонных функций должна быть видима. Следовательно можно написать реализацию либо в хедере, либо в другой файле (расширение не имеет значение, хотя .cpp использовать явно не стоит) и иклудить его в файл с объявлением.
1
|
|
|
|
||
| 01.09.2012, 02:45 | ||
|
Я бы сказал что это является хорошим тоном, когда ты описываешь прототипы функций и определения классов в заголовочных файлах (с шаблонами или без). И все-таки не вижу в этом никакого смысла.
1
|
||
|
|
||
| 01.09.2012, 05:40 | ||
|
1
|
||
|
|
||||||||||||||||
| 01.09.2012, 12:56 | ||||||||||||||||
|
soon, все абсолютно то же самое. Переделал только то о чем говорил.
print.hpp
print.cpp
main.cpp
Нет никакой ошибки линковщика.
1
|
||||||||||||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 01.09.2012, 13:09 | |
|
Вы попробуйте создать две специализации шаблона... Добавьте Print< double > к примеру.
0
|
|
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 01.09.2012, 13:11 | |
|
(Опять читать разучился.)
0
|
|
|
|
||||||
| 01.09.2012, 13:18 | ||||||
|
Toshkarik, добавить куда? В класс A тот что в
main.cpp
~OhMyGodSoLong~, то что в этой программе нет никакого смысла в заголовочный файл включать cpp.
0
|
||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||
| 01.09.2012, 13:19 | ||||||
|
Да вот хотябы, просто поменяйте main.cpp на
0
|
||||||
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|||||||||||||||||||||
| 01.09.2012, 13:29 | |||||||||||||||||||||
|
Я уже понял, я не понял, что это про инклюд, а не про какую-то хитродинамику :)
Не знаю, как у вас, но у меня линкер вполне себе ругается на вот это
foo.h
вот так
0
|
|||||||||||||||||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 01.09.2012, 13:33 | |
|
lazybiz, так про это и говорили, в частности ForEveR, что просто не удачно выбрано расширение файла.
0
|
|
|
|
|
| 01.09.2012, 13:37 | |
|
Toshkarik, если ты посмотришь на файлы print.hpp и print.cpp из первого поста то поймешь, что расширение то как раз он выбрал правильное. В print.hpp описание класса. В print.cpp его реализация.
Если бы было не так, я бы не стал ничего говорить.
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 01.09.2012, 13:42 | |
|
Там реализация шаблонного класса. Правильней было бы назвать как то так Print_Implementation.hpp
0
|
|
| 01.09.2012, 13:42 | |
|
Помогаю со студенческими работами здесь
20
Как переопределить функцию func2 в классе B
Как переопределить перегруженную функцию в производном классе?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
|
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
На примере нетипового документа разработанного в конфигурации КА2.
В качестве источника данных указан регистр накопления, в который записываются данные о. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|