Итак, умных книжек сейчас под рукой нет, где можно было бы сию инфу надыбать, так что спрашиваю тут.
Во-первых, если у меня в двух файлах A.cc и B.cc есть объявления (реализации) классов типа такого
class A{
private:
int n;
public:
A():n(0){}
A(int N):n(N){}
// можно еще какую-нибудь фигню приписать
};
тогда линковшик начнет ругаться, что, в принципе, и понятно.
С template-ами ситуация совсем иная. Отправить объявление типа:
template<class T>
class A{
private:
T n;
public:
A():n(0){}
A(T N):n(N){}
// можно еще какую-нибудь фигню приписать
};
в два различных файла, и там и там сделать A<int> -- и все будет прекрасно работать.
Соответственно, вопрос в том, а как оно так сделано?
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от Alexey-ZAR
Ответ на:
комментарий
от Alexey-ZAR
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Разъясните (2000)
- Форум template (2007)
- Форум Ппошу разъяснить... (2012)
- Форум Прошу разъяснить (2012)
- Форум Разъясните почему (2008)
- Форум Разъясните глупому... (2004)
- Форум экзотический механизм (2020)
- Форум Поворотный механизм (2022)
- Форум Мозгодробительный механизм (2010)
- Форум механизм ftp (2002)