?.. C .
- :
class Initializer
{
public:
Initializer() {
}
};
template <class T>
class Proxy {
protected:
Proxy()
{
static Initializer init;
}
};
template<class T>
class MyTemplate : public Proxy<void> {
public:
void myMethod1() {
}
void myMethod2() {
}
};
, . myMethod1 myMethod2 , Proxy() Initializer .
, - Initializer , . ? , , . :
class Initializer
{
Initializer() {
}
public:
void init()
{
static Initializer init;
}
};
template<class T>
class MyTemplate {
public:
static void myMethod1() {
Initializer::init();
}
static void myMethod2() {
Initializer::init();
}
};
, Initializer , myMethod1 myMethod2. Initializer::init, Initializer .