От: | Chez | ||
Дата: | 10.12.05 12:28 | ||
Оценка: |
template<typename Der = int>
class Base;
template<>
class Base<int>
{
public:
virtual int foo(int, double) = 0;
};
template<typename Der = int>
class Base : public Base<>
{
public:
virtual int foo(int, double);
};
class Derived1 : public Base<Derived1>
{
// удобно: не нужно вставлять заголовки
};
class Derived2 : public Base<Derived2>
{
// удобно: не нужно вставлять заголовки
};
template<> // может быть и в CPP
int Base<Derived1>::foo(int, double)
{
return 1;
}
template<> // может быть и в CPP
int Base<Derived2>::foo(int, double)
{
return 2;
}
Chez, ICQ#161095094
Posted via:RSDN@Home;version:1.1.3;muzikstamp:silent