Especialização de modelo na definição de classe
Gostaria de saber se é possível colocar todo o código dessa classe dentro da classe (como em Java). Estou fazendo isso por algum código, em vez de procurar cada função, prefiro ter toda a classe em uma única folha de papel (sim, eu as imprimo, tenho tendência a gostar de papel hoje em dia) .
#include <iostream>
template <class V> class A {
public:
A();
};
template <class V> A<V>::A() {
std::cout<<"Generic"<<std::endl;
}
template <> A<bool>::A() {
std::cout<<"bool"<<std::endl;
}
int main(int argc, char** argv) {
A<int> a;
A<bool> b;
}
Agora é possível obter algo nesse sentido?
#include <iostream>
template <class V> class A {
public:
A() {
std::cout<<"Generic"<<std::endl;
};
/* somethig specifying specialization for bool */ A() {
std::cout<<"bool"<<std::endl;
}
};
int main(int argc, char** argv) {
A<int> a;
A<bool> b;
}
Isso é possível em tudo ?