Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2016, 11:52   #1
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию Шаблоны в С++

Приветствую господа гуру С++

Искал по всему интернету и не могу найти пример реализации шаблона в котором объявление шаблона находится в файле Н, а сам код реализации в СРР. Почему то все примеры , вклбючая код реализации, приведены только в заголовочном файле Н

Вопросы
1. можно ли разделить код шаблона на объявление и реализацию
2. если п.1 возможн, каким образом всё это подключить к пректу, чтобы
- не выползали ошибки типа unresolved
- можно было использовать методы без выползания ошибки Mathod not found

Заранее благодарю за ответы

пример нерабочей реализации
среда CPP Builder 5 http://delphi-gis.ucoz.ua/_PROGRammerForuM/tpl.zip

если за комментировать в Array.cpp реализацию Append(T& x) а в Array.h её раскомментировать - всё работает отлично
95% сбоев и ошибок приложений, находится в полу метрах от монитора

Последний раз редактировалось JUDAS; 13.03.2016 в 12:09. Причина: добавил пример
JUDAS вне форума Ответить с цитированием
Старый 13.03.2016, 12:14   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну и потому и не делают, что нельзя так в С++ (по крайней мере в большинстве случаев). Не помню точно почему, сами гуглите https://www.google.com/search?q=c%2B...ntation+in+cpp

А зачем вам 5 билдер в 2016 году?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.03.2016, 12:30   #3
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Алекс, гуглить я умею и без твоих советов.
Если нет ответа на вопрос, какой смысл отмечаться в теме?

п.с. кроме того, я ищу ответ на сайте .РУ и хотел бы получить от местных гуру ответ на языке RU
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 13.03.2016, 12:35   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ответ есть по ссылке выше. Без знания английского программированием сложно заниматься.

На русском впрочем тоже есть https://www.google.com/search?q=c%2B...%BD+%D0%B2+cpp
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.03.2016, 13:15   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от JUDAS Посмотреть сообщение
Почему то все примеры , вклбючая код реализации, приведены только в заголовочном файле Н
Потому, что он заголовочный. Просто для распечатки, так укдобнее в качестве примера. По сути, от CPP он ничем не отличается. Но, если релизов много, и относятся к разным формам и разделам, лучше описать это в качестве шаблонов в одном заголовочном, а реализовать в каждом CPP на своё усмотрение. Компилю и линковщику, вообще до фонаря, где это находится. Просто, так удобнее программистам (челофеческий фактор).
Цитата:
Вопросы
1. можно ли разделить код шаблона на объявление и реализацию
2. если п.1 возможн, каким образом всё это подключить к пректу, чтобы
#include "myproject.h"
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 13.03.2016, 13:23   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Дождался гуру?

Цитата:
Потому, что он заголовочный. Просто для распечатки, так укдобнее в качестве примера.
Тут не об этом речь. Для шаблонов есть разница находится ли реализация метода в том же месте где и его объявление или отдельно объявление и реализация в разных файлах.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.03.2016, 13:26   #7
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ответ есть по ссылке выше. Без знания английского программированием сложно заниматься.
Алекс, давай ты мне программисту с 28 летним стажем и знанием 3 языков программирования не будешь рассказывать какие мне языки нужно знать для программирования. Я не знаю и никогда не знал английский язык, но это не мешает мне единолично писать проекты, которые используются на государственном уровне, включая в РФ.

----------------

Smitt&Wesson - спасибо за пояснения. Во вложении первого моего поста есть пример, а в первом посте описание. Не могли бы вы пояснить почему проект перестаёт компилироваться как только я выношу функцию Append в файл CPP ?
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 13.03.2016, 13:26   #8
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Дождался гуру?


Тут не об этом речь. Для шаблонов есть разница находится ли реализация метода в том же месте где и его объявление или отдельно объявление и реализация в разных файлах.
А вот и не так. Просто возьми и проверь.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 13.03.2016, 13:28   #9
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Алекс, можете пояснить ваше увтерждение
Цитата:
Для шаблонов есть разница находится ли реализация метода в том же месте где и его объявление или отдельно объявление и реализация в разных файлах.
на примере который я вложил в первое сообщение ?

п.с. с самым языком С++ у меня уже проблем не имеется, а вот с восприятием кода различными компиляторами пока проблемы имеются
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 13.03.2016, 13:34   #10
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от JUDAS Посмотреть сообщение
Не могли бы вы пояснить почему проект перестаёт компилироваться как только я выношу функцию Append в файл CPP ?
В CPP нужно прописать #include "myfile.h"
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шаблоны в программировании VS Шаблоны в реальной жизни Alar Свободное общение 11 05.11.2014 10:24
шаблоны zla9_kolu4ka Общие вопросы C/C++ 5 03.03.2014 11:00
Шаблоны _Freak_ Общие вопросы Delphi 9 10.01.2014 14:02
Шаблоны с++ ftg Помощь студентам 0 25.12.2013 23:46
Шаблоны Freddi Krjuger Общие вопросы C/C++ 6 14.11.2010 20:55