您的位置:首页 > 编程语言 > C语言/C++

c++ 类的对象与指针

2015-09-18 10:03 405 查看
这里首先我们需区分一下指针数组和数组指针。

指针数组:int *p[4];它最终是个数组,只是这个数组存储的是4个指向int类型的指针。

数组指针:int (*P)[4];它最终是个指针,表示一个指向一个int类型数组的指针。

下面来看一下具体代码:

#include <iostream>
using namespace std;
class T
{
public:
T(){cout<<"调用一次默认构造函数"<<endl;}
};

int main()
{
T (*p)[3];
T *q[3];
//T a[2];
//T *pp;
return 0;
}


代码输出结果:





为什么?

为什么他们没有调用类的构造函数呢????

因为,T (*p)[3];是一个指针,没有实例化的指针是不会调用构造函数的。,怎么实例化,很简单啊,你可以T *pp=new T;,酱紫它就会调用构造函数了。

同样,T *q[3];虽然是一个数组,但是数组里的元素全是指针,他们也没有经过实例化,那么也就不会调用构造函数了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: