回复 9楼 sunflower44
首先你要搞清楚调构造函数是被调用什么是被?就是你被我亲一下,是我亲的你而不是
你自己亲自己。
好了,回到程序中来我们得知任何构造函数都是被调用的
那是什么调用构造函数的呢?就是对象。
当创建一个对象时对象一定会调用一个构造函数
为自己初始化。你说A aa;不知道调用哪个构造函数
别说你不知道,在写完类的时候编译器它自己也不知道
因为构造函数是被调用!没有创建对象之前只不可能知道的!
当创建了对象时,编译器才知道。那么只要找到是谁(对象)调用了它就可以知道
调用哪个构造函数了
就好比说你被亲了一下不知道亲在哪个地方,是嘴巴上还是
胸口上,那么你只要找到那个亲你的人,就知道了
我们就来找是谁掉用了子对象
在main主函数中创建了对象,那么调用子对象的构造函数,
在调用子对象构造函数过程中会先掉用父类的构造函数,
然后调用子对象的构造函数,在你的子类中又有一个父类的对象
那么子对象的构造函数先等等,从大到小,无论是吃饭洗澡都是长辈先吃
接着在儿子吃。所以当儿子类要创建对象时先会把父类的对象都创造完了
在创建儿子。
所以会先创建A aa;这个对象,这个对象默认是不带参数的,但是子类调用的
构造函数里初始化了这个对象使他带有参数
毕竟是儿子叫爸爸吃饭的,儿子可以让爸爸直接吃饭,也可以让爸爸叫妈妈
一起来吃饭!儿子类的构造函数中的:aa(妈妈)起到了这个作用,不仅可以叫妈妈,
,你还可以叫:aa(妈妈,爷爷,奶奶,小三),只要爸爸认识这些人(父类中的数据成员)。
由于爸爸很懒,你不叫他这么做他只会自己一个人吃饭谁也不叫。
[ 本帖最后由 xg5699 于 2011-8-23 12:30 编辑 ]
都不结贴我郁闷那!