I have not found right answer though i tried multiple search in this site. I raise the question again.
Normally, the static object member should be initialized in the source file.
//header file
class A{
private:
static B* bPoint ;
public:
static void init(int argc, char** argv);
...
};
//Source file:
B A::bPoint = new B() //Normally, this should OK.
But the problem is that default B construction is private and now I have to use another public construction
B(int argc, char** argv);
In this case, new B() would give out compilation error.. then how I can initialize the static bPoint in class A?