2017-03-24 7 views
-4

私は答えがbで、dではないと思われます。私は静的変数として宣言されている変数bを使って何かをしなければならないことを知っています。しかし、変数とはどういうことでしょうか?前もって感謝します。正しい出力が得られないC++静的変数

次のコードを考えてみましょう:上記のプログラムからの出力がどのようなものです

class Numbers { 
    private: 
     int a; 
     static int b; 

    public: 
     Numbers(int x) : a(x) { b = x; } 
     void incA() { a++; } 
     void incB() { b++; } 
     int getA() { return a; } 
     int getB() { return b; } 
    }; 

    int main() { 
    Numbers n1(1); 
    Numbers n2(2); 
    n1.incA(); 
    n1.incB(); 
    n2.incA(); 
    n2.incB(); 
    cout << n1.getA() << "," << n1.getB() << endl; 
    return 0; 
    } 

を? は、(A)2,2(B)2,4-(C)2,5(D)2,3-

+1

が、これは試験や面接の質問ですか?あなたが試してデバッグできるものではありませんか?そして、表示されているプログラムはビルドされていないので、すべての答えが間違っています。 –

+0

静的変数は、クラスオブジェクト間で共有されます。それを念頭に置いてコードをもう一度読んでください。 – belln

答えて

-2

回答をb:2,4

static int b複数 '数字' オブジェクト間で共有されています。また、次のようなソースファイルのいずれかでそれを定義する必要があり

int Numbers::b;

関連する問題