读书人

什么时候调用构造函数?解决思路

发布时间: 2012-09-13 09:51:52 作者: rapoo

什么时候调用构造函数?
假如有一个类:base;如果我定义:base a,时调用默认构造构造函数;当我定义:base *p,不调用构造函数;假如我定义
base * p = new base也调用构造函数;
谁能帮我解释下其中的原理,越详细越好。

[解决办法]
base a;调用构造,是因为要初始化类实例的数据,所以以要调用构造.
base *p;不调用,是因为你只是声明了一个将要指向类实例的指针,就是保存了一个四字节的地址。当然不用构造。
base *p new base;这里要调用,是因为你new了一个类的实例出来,并把它的地址赋给p,因为有了实例,就要初始化,构造被调用.

读书人网 >C++

热点推荐