#include using namespace std; template class A { public: int value[num]; static A unit; A() { cout << "Constructor A()\n"; value[0] = 1; } A(const A& x) { cout << "Constructor A(const A&)\n"; value[0] = x.value[0]; } }; template A A::unit; class B { public: int t; B() { A<3> temp(A<3>::unit); t = temp.value[0]; } }; B test; int main() { return 0; }