#include <iostream>
using namespace std;
class A{
public:
A(){
cout << "Class A!";}
};
int main()
{
A a();
}上面的代码不调用构造函数A :: A(),即使它们具有相同的输入参数(无)。但是,如果在主函数中从A a();中删除括号,它将调用构造函数。那么A a;和A a();有什么区别呢?
我相信这里的问题是非常相似的,甚至是相同的,不过,如果有人能简单地解释,我将非常感激。Do the parentheses after the type name make a difference with new?
声明A a();在任何情况下都会调用构造函数吗?
c++中是否存在无参数构造函数,还是与默认构造函数相同?
发布于 2018-02-09 06:29:31
使用
A a();您可以将a声明为不带参数的函数,并返回一个A对象。
https://stackoverflow.com/questions/48699908
复制相似问题