超级简单的C ++构造函数查询

时间:2012-09-03 14:30:36

标签: c++ constructor parentheses

我每个人都有一个简单的问题。以下代码有什么区别? (参见“带括号”和“没有括号”)

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

}

1 个答案:

答案 0 :(得分:4)

第一个定义一个名为* instance_a_first *的变量,类型为* class_a *。

第二个声明了一个名为* instance_a_second *的函数,该函数返回* class_a *对象并且不带参数。

与写作相同: -

int one;

VS

int func();

编辑:将第二句更改为声明而不是定义。