构造函数何时被调用( ) A、类定义时 B.创建对象时 C.调用对象方法时 D.使用对象的变量时
展开全部
MyClass a:定义一个对象,调用1次构造函数。 b[2]:定义含有两个元素的数组,实际上定义两个对象,所以调用2次构造函数。 *c:定义指向类对象的指针,但没有进行实际的内存分配,所以不调用构造函数。 **d:定义指向类对象指针的指针,但没有进行实际的内存分配,所以不调用构造函数。 *e[2]:定义含有两个指向类对象的指针的数组,但没有进行实际的内存分配,所以不调用构造函数。 *f=new char A:这个语句有问题,f是指向MyClass的对象,你却让它指向char类型的变量。应该改成:*f=new MyClass,涉及到内存的分配,调用1次构造函数。 *g=new MyClass [2],涉及到内存的分配,调用2次构造函数。总结:只有涉及到内存分配的时候,才会调用构造函数。普通对象调用一次,对象数组调用N次(该数组含有N个元素)。只定义指针而不给指针赋值,则不涉及内存分配,不调用构造函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选b创建对象时用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询