クライアント側に負荷掛けさせたくないのなら

class ZENBU {
  sratic int reateDefault_a() {
    return 1;
  }
}

template<class T=ZENBU>
class A
{
public:
  A(int a = T::createDefault_a()) : a_(a) {}
private:
  int a_;
};