如果这是一个愚蠢或无意义的问题,我提前抱歉,但是:
一个类的非常量静态类变量是否可以被另一个类使用而不使用friend或base / derived类? (缩写)情况是:
class Decl {
public:
static string searchVal;
... (other irrelevant stuff)
};
class Conj {
public:
static string searchVal;
... (other irrelevant stuff)
};
我不想在这两个课程中重复searchVal,而且由于课程的其余部分,我并不热衷于使用朋友(但如果它是唯一的选择,我会的)
答案 0 :(得分:0)
由于您的static
成员是public
,如果您的类定义都可见,则可以分别使用Decl::searchVal
或Conj::searchVal
访问其静态成员。
例如
class Decl
{
public: static string searchVal;
};
class Conj
{
public:
static string searchVal;
};
// within ANY function, including members of either class above
// ... as long as both definitions above are visible to the compiler
if (Conj::searchVal == Decl::searchVal)
{
// do something
}