小智 7
您可以将构造函数定义为私有,就像任何其他函数一样.例如:
class foo
{
friend foo *FooConstructor(void);
public:
void Method();
void Method2();
private:
foo();
foo(const &foo);
};
foo *FooConstructor(void)
{
return new foo();
}
Run Code Online (Sandbox Code Playgroud)
这可以防止foo以任何方式创建,除了该FooContructor功能.