20 Kasım 2020 Cuma

Template Specialization - Class Tanımlama

Giriş
Generic bir sınıfın hangi tipler için yaratılabileceğini belirtiriz
Örnek
Açıklaaması şöyle
I have a class A with template argument T, which is limited to two types: T1 and T2. Because of this, I explicitly instantiated class A for types T1 and T2 such that A's functionality can be defined in a source file and doesn't need to be recompiled every time A.hpp is included.
A.hpp dosyasında şöyle yaparız
template<typename T>
class A {
public:
    void basicMethod();
};

template class A<T1>;
template class A<T2>;
A.cpp dosyasında şöyle yaparız
template<typename T>
void A<T>::basicMethod() {
    // ...
}

Hiç yorum yok:

Yorum Gönder