/*In header file */
class abc{
public:
static bool do_something();
}
/*In other file */
static bool isvalid=false; //global variable
bool abc::do_something()
{
return isValid;
}
它编译正常。我想知道它是否正确使用?
答案 0 :(得分:0)
是的,它是正确的 - 没有符号表示无效,其他文件将无法看到它。他们可以通过调用abc::do_something()
成员函数不需要是静态的。所有实例都可以返回相同的当前值isValid
在C ++中隐藏数据的常规方法是在类中使其成为私有和静态的...
头文件
class abc{
static bool isValid; // can be seen, does not use space in an instance
public:
static bool do_something();
}
/*In other file */
bool abc::isvalid=false; //global variable
bool abc::do_something()
{
return isValid;
}