2 qq 34204094 qq_34204094 于 2016.03.29 16:57 提问

关于构造函数。。。。

如果直接显示调用构造函数如A() 但是没有声明 对象 那么是不是构造就无法对对象进行初始化 因为this指针为空

3个回答

qq_33463022
qq_33463022   2016.03.29 17:38
已采纳

在对象编程语言中,一般在定义了一个类型之后,为了能使用它,必须把这个类型具体化,也就是指定为一个具体的对象。而构造函数就是从定义出发,建立与定义相对应的对象。用计算机语言来说,光有定义是不能使用,必须通过构造函数来分配内存空间给可使用的对象。

caozhy
caozhy   Ds   Rxr 2016.03.29 17:07

如果没有对象,根本就不能调用成员函数。如果你调用了成员函数,那么肯定说明是有对象实例的。

Ash_Delia
Ash_Delia   2016.03.29 17:04

怎么可能,调用后就会分配内存。
如果A(){
a = 10;
}
那么这个int 型的a就已经被初始化并赋值了,只不过你找不到他了而已。当然也就内存泄露了。此外this指针是相对于类的,它不是空,只不过脱离了作用域也会找不到了而已。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!