关于主

时间:2016-07-01 09:52:12

标签: c++

考虑以下C ++代码:

class MyClass
{
    private:
        static int y;
    public:
        static void setY(int t) { y = t; }
        int getY() {return y;}
};
int MyClass::y = 0;
int main()
{
    MyClass mc, mc1;
    MyClass::setY(10);
    cout << mc.getY() << endl; //prints 10
    mc1.setY(12);
    cout << mc.getY() << endl; //prints12
    return 0;
}

为什么我们必须在主要之前声明int MyClass::y=0;?如果我们对此进行评论,我们将收到一条错误消息,例如“未定义的变量y”。我们不是只在课堂上定义它吗?另外,为什么它必须是全球性的?为什么我们不能将int MyClass::y=0;放在主函数中?

0 个答案:

没有答案