Ну с классом понятно, а как быть с шаблоном?
Так не компилится:
| Код | //unit.h
template<class Type> class my_class{ int a, b; Type p; public: my_class(int x = 0, int y = 0); void print(); };
//unit.cpp
#include <iostream> #include "unit.h"
template<class Type> my_class<Type>::my_class(int x, int y){ a = x; b = y; }
template<class Type> void my_class<Type>::print(){ std::cout<<a<<' '<<b<<std::endl; }
//main.cpp
#include "unit.h"
int main(){ my_class<int> x; x.print(); return 0; }
//ошибки
In function `main':|main.cpp|4|undefined reference to `my_class<int>::my_class(int, int)'| main.cpp|5|undefined reference to `my_class<int>::print()'| ||=== Build finished: 2 errors, 0 warnings ===|
|
|