求帮忙看一下 有关构造函数调用 的这个问题

求帮我看一下这个问题,好疑惑啊。

#include<iostream>
using namespace std;
class A{
public:
    A() {
        cout << "无参函数调用" << endl;
    }
    A(int a) {
        cout << "有参函数调用" << endl;
    }
};
int main()
{
    int* t = new int();
    cout << *t << endl;
    int* p = new int[10]();
    for (int i = 0; i < 10; i++) {
        cout << *(p + i) << "\t";
    }
    cout << endl;
    //上面两步都表明()里面隐含数字0;
    A a1;
    A* pb = new A;
    A* pc = new A();//但是这里定义对象时,调用的却是无参构造函数
    A* pd = new A(0);//而这里调用的是有参构造函数
    A* pa[2] = { new A(),new A(2) };

    return 0;
}

上面两步都表明()里面隐含数字0
不理解你说的是什么

A()调用无参数构造函数,A(0)调用有一个参数的,有什么问题么,很正常啊。