初始化或实例化

Pho*_*rce 2 c++ oop object

哪个最好描述以下内容:

A();
A a;
Run Code Online (Sandbox Code Playgroud)

"A"是一般类?我一直相信你正在为这个类初始化一个对象,但是,其他人似乎想到了实例化 - 我只是在VB.net中遇到过的东西.

请问好吗?:)

bil*_*llz 6

A a(); 
Run Code Online (Sandbox Code Playgroud)

它声明了一个返回A类型的函数.这对许多用户来说都是一个惊喜.这与最烦恼的解析有关.

在以下两个例子中,意图是显而易见的

A a(3);    // an object a, of type A, initialized with 3
A a(int);  // a *function* a, taking an int parameter and returning A
Run Code Online (Sandbox Code Playgroud)

但是当括号为空时,默认值是函数声明.如果你想要一个变量,你应该删除();

A a;
Run Code Online (Sandbox Code Playgroud)