| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 744 人关注过本帖
标题:还是继承与派生。。。
只看楼主 加入收藏
xg5699
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:140
专家分:522
注 册:2011-7-27
收藏
得分:18 
回复 9楼 sunflower44
首先你要搞清楚调构造函数是被调用
什么是被?就是你被我亲一下,是我亲的你而不是
你自己亲自己。
   好了,回到程序中来我们得知任何构造函数都是被调用的
那是什么调用构造函数的呢?就是对象。
   当创建一个对象时对象一定会调用一个构造函数
为自己初始化。你说A aa;不知道调用哪个构造函数
别说你不知道,在写完类的时候编译器它自己也不知道
因为构造函数是被调用!没有创建对象之前只不可能知道的!
    当创建了对象时,编译器才知道。那么只要找到是谁(对象)调用了它就可以知道
调用哪个构造函数了
   就好比说你被亲了一下不知道亲在哪个地方,是嘴巴上还是
胸口上,那么你只要找到那个亲你的人,就知道了
   我们就来找是谁掉用了子对象
   在main主函数中创建了对象,那么调用子对象的构造函数,
在调用子对象构造函数过程中会先掉用父类的构造函数,
然后调用子对象的构造函数,在你的子类中又有一个父类的对象
那么子对象的构造函数先等等,从大到小,无论是吃饭洗澡都是长辈先吃
接着在儿子吃。所以当儿子类要创建对象时先会把父类的对象都创造完了
在创建儿子。
    所以会先创建A aa;这个对象,这个对象默认是不带参数的,但是子类调用的
构造函数里初始化了这个对象使他带有参数
    毕竟是儿子叫爸爸吃饭的,儿子可以让爸爸直接吃饭,也可以让爸爸叫妈妈
一起来吃饭!儿子类的构造函数中的:aa(妈妈)起到了这个作用,不仅可以叫妈妈,
,你还可以叫:aa(妈妈,爷爷,奶奶,小三),只要爸爸认识这些人(父类中的数据成员)。
     由于爸爸很懒,你不叫他这么做他只会自己一个人吃饭谁也不叫。

[ 本帖最后由 xg5699 于 2011-8-23 12:30 编辑 ]

都不结贴我郁闷那!
2011-08-23 12:16
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:0 
回复 11楼 xg5699
学习~ 学习;
创建对象肯定会调用构造函数的;这个大家都知道;  创建子类的对象肯定会调用子类的构造函数,不过在这之前会先调用基类的构造函数;   那么究竟该调用什么构造函数呢? 这个要看你创建的对象; 如果你创建的对象没有参数,那么就调用没有参数的构造函数;例如 B b;你看这个对象b是没有参数的 所以调用无参构造函数;如果是 B b(1,2,5)那么就是调用含3个参数的构造函数;

君生我未生 我生君以老
2011-08-23 15:08
快速回复:还是继承与派生。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017168 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved