C++n00bの質問。cppで定義された静的メソッドからプライベートコンストラクターを呼び出すことは可能ですか?可能であれば、メソッドをヘッダーファイルに入れないようにしたいのですが、これを行う方法があるはずだと思います。これを試みるとエラーが発生します:
「SomeClassクラスで宣言されたプライベートメンバーにアクセスできません」
/////////////////
// SomeClass.h //
/////////////////
class SomeClass {
public:
static SomeClass SomeMethod();
private:
SomeClass(int i);
}
///////////////////
// SomeClass.cpp //
///////////////////
static SomeClass OSImplementation() {
return SomeClass(0);
};
// calls implementation
SomeClass SomeClass::SomeMethod() {
return OSImplementation();
}