构造函数分辨率,默认构造函数和()

constructor resolution, default constructors and ()

本文关键字:构造函数 默认 分辨率      更新时间:2023-10-16
#include <iostream>

using namespace std;
 class A{
public:
    A(){
    cout << "Class A!";}
    };

 int main()
{
    A a();
}

上面的代码即使它们具有相同的输入参数(无(,也不会调用构造函数A :: A()。但是,如果在主函数中,我从 A a();它称为构造函数。那么A a;A a();

有什么区别

我相信这里的问题也可能非常相似,但是如果有人可以简单地解释我会非常感谢。类型名称之后的括号是否与新的?

有所不同?

在任何情况下都会宣布A a();曾经致电构造函数?

无参数构造函数是否存在于C 中,还是与默认构造函数相同?

A a();

您将a声明为一个函数,没有参数并返回A对象。