2

私は本当に簡単な質問があります。次のコードの違いは何ですか? (「括弧あり」および「括弧なし」を参照)

class class_a{
    public:

        int a_int;

        class_a(){
           a_int = 0;
        }
}

int main( ... ){

    class_a instance_a_first; // Without Parentheses
    class_a instance_a_second(); // With Parentheses

}
4

1 に答える 1

4

最初のものは *class_a* 型の *instance_a_first* と呼ばれる変数を定義します。

2 つ目は、*class_a* オブジェクトを返し、パラメーターを取らない *instance_a_second* という関数を宣言します。

それは書くことと同じです:-

int one;

int func();

編集: 定義の代わりに宣言と言うように 2 番目の文を変更しました。

于 2012-09-03T14:32:22.287 に答える