虚拟函数在C++中非常好玩的事。我们可以把需要改写的函数声明为虚函数,用virtual这个关键字来声明。这样。假如如果我们CwinApp这么一个基类,它里面定义了一个成员(虚)函数为InitInstance()和另一个为(虚)函数InitApplication()。如果我从CWinApp派生一个子类为CMyWinApp并修改了InitInstance()这个成员函数。我们并没有修改InitApplication()这个成员函数。现在我们创建CMyWinApp这个类的函数theApp,我们并创建一个指针*pApp指向这个对象theApp。此时: pApp->InitInstance() //指针调用的是子类CMyWinApp的虚方法 pApp->InitApplication() //指针调用的时父类CwinApp的虚方法 因为子类并没有修改父类的方法,所以调用的是父类的虚方法。这就牵扯到虚你表的问题。碍与本篇文章的定位,这里就不讨论了! 关于父类与子类的对象的类型转换问题是这样的,子类对象转换为父类对象时,不会出现错误。因为子类包含父类的所有的属性及方法,而父类向子类转换时就难说了,呵呵。这还会牵扯到虚拟表的问题,也不讨论了! JAVA中不再支持多重继承,也就是一个类从两个以上的类中继承而来,但它却多了接口的概念“interface”。这里就不做过多介绍了! 关于抽象基类也没什么难的!他的一个大概念就是:做为许多类的父类,不定义对象,只做派生用! 我能做得也只有这些了,如果你能明白以上的六七成,那就是对我最大的回报了,呵呵!就像刚刚开始我说的,我只是给你一个大概的思想,至于内部的实现细节,仍需要你的继续努力。关于编程语言的内容还有许多许多,实属小生个人能力有限而不能全盘照顾到。不过作为一个初学者的你来说,这些东西都是基本的。需要我提醒你一点的是,不要指望在第一、二遍的时候看懂什么!加油:) 04.4.29 韩景维 愿意和大家保持联络,如果大家能够对本篇文章提出宝贵的意见和建议,我将不胜感激。我的电子邮件地址是: onegenius@126.com 或在QQ里给我留言(86228551---乱码游魂.h) |
闂傚倸鍊搁崐鎼佸磹閹间礁纾圭€瑰嫭鍣磋ぐ鎺戠倞妞ゆ巻鍋撴潻婵嬫⒑闁偛鑻晶鎾煛鐏炲墽銆掗柍褜鍓ㄧ紞鍡涘磻閸涱厾鏆︾€光偓閸曨剛鍘搁悗鍏夊亾闁逞屽墴瀹曚即寮介婧惧亾娴g硶妲堟俊顖氬槻閻楁岸姊洪崨濠傚闁稿鎸歌濠㈣泛顑勭换鍡涙煟閹板吀绨婚柍褜鍓氶崹鍨暦閺囩喓绡€婵﹩鍓涢鍡涙⒑鐠恒劌娅愰柟鍑ゆ嫹 (0) +1 闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊瑜忛弳锕傛煕椤垵浜濋柛娆忕箳閳ь剙绠嶉崕閬嶅箯鐎n喖瑙﹂悗锝庡枟閻撴洟鏌嶉埡浣告灓婵炲牄鍨归湁缁绢參鏀辩€氾拷 (0) +1 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻鎾闁稿鍨块幃妤€鈽夊▎瀣窗濡炪倐鏅滈悡锟犲蓟閿濆绠i柨婵嗘-濡嫮绱撴担鍝勵€岄柛銊ョ埣瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷 (0) +1
闂傚倸鍊搁崐鎼佸磹閹间礁纾圭€瑰嫭鍣磋ぐ鎺戠倞妞ゆ巻鍋撴潻婵嬫⒑闁偛鑻晶鎾煛鐏炲墽銆掗柍褜鍓ㄧ紞鍡涘磻閸涱厾鏆︾€光偓閸曨剛鍘搁悗鍏夊亾闁逞屽墴瀹曚即寮介婧惧亾娴g硶妲堟俊顖氬槻閻楁岸姊洪崨濠傚闁稿鎸歌濠㈣泛顑勭换鍡涙煟閹板吀绨婚柍褜鍓氶崹鍨暦閺囥垹钃熼柕澶堝劚閻庮參姊虹粔鍡楀濞堟棃鏌﹂崘顏勬灈闁哄矉缍佸顕€宕堕妷銏犱壕闁逞屽墴閺屾稓鈧綆鍋呯亸顓㈡煃閽樺妲搁柍璇茬Ч椤㈡ǹ顦辩紒銊ャ偢閺岀喐绗熼崹顔碱潎閻庤娲橀崕濂杆囬鈧弻锟犲焵椤掑嫭鍤嶉柕澶涚导缁ㄥ姊洪崫鍕窛闁稿鍋よ棢闁绘劗鍎ら崐鍨叏濡厧浜鹃悗姘炬嫹闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏犖ч柛鈩冦仦缁剝淇婇悙顏勨偓鏍礉瑜忕划濠氬箣閻樺樊妫滈梺绉嗗嫷娈曢柣鎾存礋閺岀喖鏌囬敃鈧悘閬嶆煕閵堝拋鍎旈柡灞诲€濆鍫曞箰鎼粹€叉樊闂備礁鎼張顒傜矙閹达箑鐓″璺号堥弸搴ㄦ煙闁箑鏋ら柍璇茬箳缁辨捇宕掑顑藉亾妞嬪孩濯奸柡灞诲劚閻ら箖鏌eΟ娆惧殭闁藉啰鍠栭弻锝夊籍閸屾瀚涢梺杞扮缁夌數鎹㈠┑鍥╃瘈闁稿本纰嶉悘鎾绘⒑閸濆嫭锛嶉柛妯恒偢閳ユ棃宕橀鍢壯囨煕閹扳晛濡煎┑顔惧厴濮婃椽鎮烽弶鎸庮唨闂佺懓鍤栭幏锟�>>
正在阅读:面向对象编程,我的思想(下)面向对象编程,我的思想(下)
2004-06-01 10:14
出处:CSDN
责任编辑:linjixiong
键盘也能翻页,试试“← →”键