#include <iostream>
using namespace std;
class A{
public:
A(){
cout << "Class A!";}
};
int main()
{
A a();
}
上面的代码不会调用构造函数A :: A()
,即使它们具有相同的输入参数(无)。但是,如果在main函数中,我从中删除括号
A a();
它调用构造函数。
那么A a;
和A a();
我相信这里的问题非常相似甚至可能相同,但如果有人可以用更简单的术语解释我会非常感激。 Do the parentheses after the type name make a difference with new?
在任何情况下,都会声明A a();
曾经调用过构造函数吗?
无参数构造函数存在于c ++中,还是与默认构造函数相同?
答案 0 :(得分:1)
使用
A a();
您将a
声明为不带参数并返回A
对象的函数。