C ++ - 初始化静态成员自己的方法

时间:2018-04-25 14:11:01

标签: c++ oop methods static initialization

是否可以使用自己的方法初始化静态成员,例如。初始化()?

示例:

class Foo
{
//some private variables
public:
static Bar example;
//some methods
}

然后在main.cpp中调用它,如:

Foo::example.initialize(argument);

当然它不起作用。它也缺乏封装,因为变量是公开的。我想它是私有的并且只被初始化一次。我没有任何其他选择,只能用方法初始化它。

1 个答案:

答案 0 :(得分:1)

初始化对象的默认方式应该是它的默认construtor。

如果确实需要,可以使用Singleton(请注意它是反模式:What is an anti-pattern?,还有What is so bad about singletons?

@ionic/app-scripts : 3.0.0

这只会被初始化一次。