求帮我看一下这个问题,好疑惑啊。
#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;
}