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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.06.2010, 17:27   #1
lordius
Новичок
Джуниор
 
Регистрация: 28.06.2010
Сообщений: 2
Вопрос Почему нельзя разбивать на отдельные файлы шаблонные функции и классы?

Почему нельзя разбивать на отдельные файлы шаблонные ф-ции и классы????
lordius вне форума
Старый 28.06.2010, 17:29   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

потому что кой кому надо почитать про инстанцирование шаблонов
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума
Старый 28.06.2010, 18:03   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от lordius Посмотреть сообщение
Почему нельзя разбивать на отдельные файлы шаблонные ф-ции и классы????
Считайте это особенностью реализации и примите как аксиому
pu4koff вне форума
Старый 06.07.2010, 12:37   #4
lordius
Новичок
Джуниор
 
Регистрация: 28.06.2010
Сообщений: 2
По умолчанию

Тема закрыта!!!А разбивку нельза делать так как на этапе компиляции компилятор просто не увидит адреса нужных ф-ций!

Последний раз редактировалось lordius; 06.07.2010 в 12:45.
lordius вне форума
Старый 06.07.2010, 17:01   #5
Loji
Новичок
Джуниор
 
Регистрация: 04.07.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от lordius Посмотреть сообщение
Почему нельзя разбивать на отдельные файлы шаблонные ф-ции и классы????
Под .Net можно, а в остальных не знаю.
Например в Visual C# есть директива partial - позволяет разбивать реализацию классов и функций в разных файлах, в том числе и универсальные типы.
Вот почитай, тебе пример
http://msdn.microsoft.com/ru-ru/library/wa80x488.aspx

Последний раз редактировалось Loji; 06.07.2010 в 17:15.
Loji вне форума
Старый 06.07.2010, 17:40   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Loji Посмотреть сообщение
Под .Net можно, а в остальных не знаю.
Например в Visual C# есть директива partial - позволяет разбивать реализацию классов и функций в разных файлах, в том числе и универсальные типы.
Вот почитай, тебе пример
http://msdn.microsoft.com/ru-ru/library/wa80x488.aspx
Это к чему вообще? Вопрос был про С++, а не C#? partial - это вообще никак не относится к вопросу. Шаблонов в .NET нет, есть только Generic-типы, а это несколько иное.
pu4koff вне форума
Старый 06.07.2010, 21:21   #7
Loji
Новичок
Джуниор
 
Регистрация: 04.07.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Это к чему вообще? Вопрос был про С++, а не C#? partial - это вообще никак не относится к вопросу. Шаблонов в .NET нет, есть только Generic-типы, а это несколько иное.
Я не понял друг, к чему этот агр?
Читать научись про что я писал. А еще посмотри на вопрос темы, как он задан.
Я не знаю про какие ты шаблоны там пишешь, в Net есть шаблоны как классов так и функций и их можно разбивать на несколько файлов при написании ( открой System::Collections Framework ).

Или как только приведут что то из .NET тебя сразу псих бьет?

Последний раз редактировалось Loji; 06.07.2010 в 21:23.
Loji вне форума
Старый 06.07.2010, 21:53   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Loji Посмотреть сообщение
Я не понял друг, к чему этот агр?
Где это в моем посте агрессия? Я вроде не обзывался и с кулаками не бросался.
Цитата:
Сообщение от Loji Посмотреть сообщение
Читать научись про что я писал. А еще посмотри на вопрос темы, как он задан.
Вы писали про языки .NET, а точнее про C#. Учимся читать название ветки и ищем ветку, где обсуждается С++ под .NET. Ветка про С++, язык не указан, значит это язык С++. Причем здесь .NET я не понимаю.
Цитата:
Сообщение от Loji Посмотреть сообщение
Я не знаю про какие ты шаблоны там пишешь, в Net есть шаблоны как классов так и функций
Нет. В .NET нет шаблонов. Если Generic типы (class MyClass<T> - это не шаблон).
Цитата:
Сообщение от Loji Посмотреть сообщение
и их можно разбивать на несколько файлов при написании ( открой System::Collections Framework ).
В C# можно. По поводу С++.NET сомневаюсь в наличии partial классов, но спорить не буду. В любом случае это разделение не имеет ничего общего с разделением на описание/реализацию в С++.
Цитата:
Сообщение от Loji Посмотреть сообщение
Или как только приведут что то из .NET тебя сразу псих бьет?
Ага. Я псих, что указал на абсурдность упоминания C# в теме, где про него никто не спрашивал, а Вы Д'Артаньян, потому что приплели этот язык ни к месту. Я то к .NET равнодушен, пишу на шарпе даже больше, чем на С++.
pu4koff вне форума
Старый 07.07.2010, 11:04   #9
Loji
Новичок
Джуниор
 
Регистрация: 04.07.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Где это в моем посте агрессия? Я вроде не обзывался и с кулаками не бросался.
Вы писали про языки .NET, а точнее про C#. Учимся читать название ветки и ищем ветку, где обсуждается С++ под .NET. Ветка про С++, язык не указан, значит это язык С++. Причем здесь .NET я не понимаю.
Нет. В .NET нет шаблонов. Если Generic типы (class MyClass<T> - это не шаблон).
В C# можно. По поводу С++.NET сомневаюсь в наличии partial классов, но спорить не буду. В любом случае это разделение не имеет ничего общего с разделением на описание/реализацию в С++.
Ага. Я псих, что указал на абсурдность упоминания C# в теме, где про него никто не спрашивал, а Вы Д'Артаньян, потому что приплели этот язык ни к месту. Я то к .NET равнодушен, пишу на шарпе даже больше, чем на С++.
А это что по вашему?
template<class T> T myfunc(int a){};
template <class Z> class myclass{};
Это не шаблоны функций и классов? Если у вас какое то специфическое понятие шаблонов, - тогда делайте оговорку на свое понимание.
Если это -class MyClass<T> - не шаблон класс то что тогда?.

Если в C# есть возможность реализовывать в разных файлах функции и классы ( о чем и сказал), то обычно, по логике вещей, это должно быть и в остальных языках, С++ и VB. Я не утверждаю что есть но скорее всего есть. Или что C# исключение тогда?.

Да , я согласен возможно слова ручка, я понял за ручку для письма, а автор темы имел ввиду дверную ручку в туалет, не спорю. Что возможно поэтому и не в тему.

Последний раз редактировалось Loji; 07.07.2010 в 11:07.
Loji вне форума
Старый 07.07.2010, 12:33   #10
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Loji Посмотреть сообщение
А это что по вашему?
template<class T> T myfunc(int a){};
template <class Z> class myclass{};
Это не шаблоны функций и классов?
Это шаблоны. Только как они относятся к .NET? В C# этого нет. В С++.NET это от "чистого" С++ и я сомневаюсь, что их в .NET версии языка можно разбивать на *.h и *.cpp файлы.
Цитата:
Сообщение от Loji Посмотреть сообщение
Если это -class MyClass<T> - не шаблон класс то что тогда?
Это Generic. Если бы в С++ были Generic, то их можно было бы разбивать на интерфейс/реализацию. Особенности шаблонов и компиляции С++ программ этого не позволяют.
Цитата:
Сообщение от Loji Посмотреть сообщение
Если в C# есть возможность реализовывать в разных файлах функции и классы ( о чем и сказал)
Функции? В C#? Ничего не путаете?
Цитата:
Сообщение от Loji Посмотреть сообщение
, то обычно, по логике вещей, это должно быть и в остальных языках, С++ и VB. Я не утверждаю что есть но скорее всего есть. Или что C# исключение тогда?
Странная логика. В С++ есть множественное наследование, значит оно и в C# есть? И в Delphi? А в C# есть интерфейсы (interface), только в С++ я их не нашел. Не работает логика.
Цитата:
Сообщение от Loji Посмотреть сообщение
Да , я согласен возможно слова ручка, я понял за ручку для письма, а автор темы имел ввиду дверную ручку в туалет, не спорю. Что возможно поэтому и не в тему.
Вот только давайте без этого? Почему-то pproger и я правильно поняли и автор в итоге самостоятельно разобрался в теме. Со всеми бывает, что не так поняли, не то ответили, не вижу никакой проблемы. К чему эти попытки всё свалить на автора и обвинять меня в агрессии...
Топикстартер удовлетворен - не вижу смысла продолжать этот бессмысленный диалог.
pu4koff вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы и файлы ThisIzGame Общие вопросы C/C++ 1 16.06.2010 10:42
Почему из метода класса нельзя обратиться к компоненту на форме? Дима я Общие вопросы Delphi 2 28.03.2010 13:21
шаблонные строковые функции MrKarapuz Общие вопросы C/C++ 7 09.11.2009 15:07
почему под созданным пользователем нельзя зайти? Bat{CMD}_Men Общие вопросы Delphi 1 04.11.2009 10:47