| ²é¿´: 163 | »Ø¸´: 0 | |||
| µ±Ç°Ö÷ÌâÒѾ´æµµ¡£ | |||
miRNAÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)
Ë®ÍõÖ®Íõ£¨ÓÞÓÞѧ԰¹ÜÀíÔ±£©
|
[½»Á÷]
dzÎöCOMµÄ˼Ïë¼°ÔÀí
|
||
|
¡¡¡¡COM--Component Object Model£¬¼´×é¼þ¶ÔÏóÄ£ÐÍ£¬ËüÊÇ΢ÈíÌá³öµÄÒ»Ì׿ª·¢Èí¼þµÄ·½·¨Óë¹æ·¶¡£ËüÒ²´ú±íÁËÒ»ÖÖÈí¼þ¿ª·¢Ë¼Ï룬ÄǾÍÊÇÃæÏò×é¼þ±à³ÌµÄ˼Ïë¡£ ¡¡¡¡Ò»¡¢COM±à³Ì˼Ïë--ÃæÏò×é¼þ±à³Ì˼Ïë(COP) ¡¡¡¡ÖÚËùÖÜÖª£¬ÓÉCµ½C++£¬ÊµÏÖÁËÓÉÃæÏò¹ý³Ì±à³Ìµ½ÃæÏò¶ÔÏó±à³ÌµÄ¹ý¶É¡£¶øCOMµÄ³öÏÖ£¬ÓÖÒý³öÁËÃæÏò×é¼þµÄ˼Ïë¡£Æäʵ£¬ÃæÏò×é¼þ˼ÏëÊÇÃæÏò¶ÔÏó˼ÏëµÄÒ»ÖÖÑÓÉìºÍÀ©Õ¹¡£Òò´Ë£¬¾ÍÈÃÎÒÃÇÏÈÀ´»ØÒäÒ»ÏÂÃæÏò¶ÔÏóµÄ˼Ïë°É¡£ ¡¡¡¡ÃæÏò¶ÔÏó˼ÏëÊǽ«ËùÓеIJÙ×÷ÒÔ¼°Ëù²Ù×÷µÄ¶ÔÏó¶¼½øÐйéÀà(ÓÉclassʵÏÖ)£¬¶øËüµÄÄ¿±êÊÇÒª¾¡Á¿Ìá¸ß´úÂëµÄ¿ÉÖØÓÃÐÔ(ÕâÒ²ÊÇÃæÏò¶ÔÏóÏà±ÈÃæÏò¹ý³Ì×î´óµÄÓŵãÖ®Ò»)¡£±ÈÈ磬ÓÐÁ½¸ö³ÌÐòAºÍB¶¼ÐèÒª¶Ôclass CµÄ¶ÔÏó½øÐвÙ×÷£¬ÄÇôclass CµÄ´úÂë¾Í¿ÉÒÔÖØÓÃÁË(¼´AºÍB¶¼¿ÉÒÔʹÓÃclass CµÄ´úÂë)¡£µ«ÊÇ£¬¶ÔÓÚÕâÒ»µã£¬ÃæÏò¶ÔÏó×öµÃ²¢²»¹»ºÃ¡£»¹ÊǾٸղŵÄÀý×Ó£¬³ÌÐòAºÍB¶¼Òª¶Ôclass CµÄ¶ÔÏó½øÐвÙ×÷£¬ÄÇô£¬³ÌÐòAºÍBµÄ±à³ÌÈËÔ±¶¼±ØÐ뽫class CµÄ´úÂ뿽±´¹ýÀ´£¬È»ºóÖØÐ±àÒëÒ»´Î£¬Õ⽫ÊǶàôÂé·³µÄÊ£¡¿öÇÒ£¬Èç¹ûclass CµÄ´úÂëûÓй«¿ª£¬ÄÇÕâÖÖÖØÓþ͸ù±¾²»¿ÉÄÜʵÏÖÁË(³ý·Ç³ÌÐòAºÍBµÄ±à³ÌÈËÔ±ºÍclass CµÄ±à³ÌÈËÔ±ÊÇͬһ¸öÈË»òÕßÍŶӣ¬µ«ÕâÑù¾ÖÏÞÐÔ¾ÍÏ൱´óÁË)¡£ ¡¡¡¡ÓÉÓÚÃæÏò¶ÔÏóµÄÕâЩ¾ÖÏÞÐÔ£¬ºÜ¶à³ÌÐòÔ±¾Í»áÏ룬Èç¹ûÎÒÃDZà³ÌÐèÒªÖØÓñðÈ˵ijɹûʱ£¬²»ÐèÒªÖØÐ±àÒë±ðÈ˵ĴúÂëÄǾͺÃÁË¡£»»¾ä»°Ëµ£¬ÎÒÃÇÒª´ïµ½µÄÄ¿±êÊÇ£¬Ö±½ÓÖØÓñðÈ˵ijɹû¶ø²»ÊÇÖØÓñðÈ˵ĴúÂë¡£ÕâÑù˵ҲÐíºÜ³éÏ󣬾ٸöÀý×Ó´ó¼Ò¾Í»á±È½ÏÃ÷°×¡£±ÈÈ罫class CµÄ´úÂë±àÒëÉú³ÉÒ»¸ödll£¬ÄÇôµ±ÆäËû³ÌÐòÔ±ÏëÒªÖØÓÃclass Cʱ£¬¾ÍÖ»ÐèÒªÔÚ×Ô¼ºµÄ³ÌÐòÖмÓÔØÕâ¸ödll¶ø²»ÐèÒªÖØÐ±àÒëclass CµÄ´úÂëÁË(ÕâÒ²¾ÍÊÇ×é¼þ±ØÐëÒªÄܶ¯Ì¬Á´½ÓµÄÔÒò)¡£ÕýÊÇÕâÖÖ˼·Òý³öÁËÃæÏò×é¼þµÄ±à³Ì˼Ïë¡£ ¡¡¡¡ÏÂÃæ£¬ÎҾͼòµ¥½éÉÜÒ»ÏÂÃæÏò×é¼þµÄ˼Ïë¡£ÔÚÒÔǰ£¬Ó¦ÓóÌÐò×ÜÊDZ»±àд³ÉÒ»¸öµ¥¶ÀµÄÄ£¿é£¬¾ÍÊÇ˵һ¸öÓ¦ÓóÌÐò¾ÍÊÇÒ»¸öµ¥¶ÀµÄ¶þ½øÖÆÎļþ¡£ºóÀ´ÔÚÒýÈëÁËÃæÏò×é¼þµÄ±à³Ì˼Ïëºó£¬Ô±¾µ¥¸öµÄÓ¦ÓóÌÐòÎļþ±»·Ö¸ô³É¶à¸öÄ£¿éÀ´·Ö±ð±àд£¬Ã¿¸öÄ£¿é¾ßÓÐÒ»¶¨µÄ¶ÀÁ¢ÐÔ£¬Ò²Ó¦¾ßÓÐÒ»¶¨µÄÓë±¾Ó¦ÓóÌÐòµÄÎÞ¹ØÐÔ¡£Ò»°ãÀ´Ëµ£¬ÕâÖÖÄ£¿éµÄ»®·ÖÊÇÒÔ¹¦ÄÜ×÷Ϊ±ê×¼µÄ¡£±ÈÈ磬һ¸öÍøÉϰ칫¹ÜÀíϵͳ£¬´Ó¹¦ÄÜÉÏ˵ËüÐèÒª°üº¬ÍøÂçͨÐÅ¡¢Êý¾Ý¿â²Ù×÷µÈ²¿·Ö£¬ÎÒÃǾͿÉÒÔ½«ÍøÂçͨÐźÍÊý¾Ý¿â²Ù×÷µÄ²¿·Ö·Ö±ðÌá³öÀ´×ö³ÉÁ½¸ö¶ÀÁ¢µÄÄ£¿é¡£ÄÇô£¬Ô±¾µ¥¸öµÄÓ¦ÓóÌÐò¾Í·Ö¸ô³ÉÁËÈý¸öÄ£¿é£ºÖ÷¿ØÄ£¿é¡¢Í¨ÐÅÄ£¿éºÍÊý¾Ý¿âÄ£¿é¡£¶øÕâÀïµÄͨÐÅÄ£¿éºÍÊý¾Ý¿âÄ£¿é»¹¿ÉÒÔ×öµÃʹÆä¾ßÓÐÒ»¶¨µÄͨÓÃÐÔ£¬ÄÇôÆäËûµÄÓ¦ÓóÌÐòÒ²¾Í¿ÉÒÔÀûÓÃÕâЩģ¿éÁË¡£ÕâÑù×öµÄºÃ´¦Óкܶ࣬±ÈÈçµ±¶ÔÈí¼þ½øÐÐÉý¼¶µÄʱºò£¬Ö»Òª¶ÔÐèÒª¸Ä¶¯µÄÄ£¿é½øÐÐÉý¼¶£¬È»ºóÓÃÖØÐÂÉú³ÉµÄÒ»¸öÐÂÄ£¿éÀ´Ìæ»»µôÔÀ´µÄ¾ÉÄ£¿é(µ«±ØÐë±£³Ö½Ó¿Ú²»±ä)£¬¶øÆäËûµÄÄ£¿é¿ÉÒÔÍêÈ«±£³Ö²»±ä¡£ÕâÑù£¬Èí¼þÉý¼¶¾Í±äµÃ¸ü¼Ó·½±ã£¬¹¤×÷Á¿Ò²¸üС¡£ ¡¡¡¡ËµÁËÕâô¶à£¬×ܽáһϣºÃæÏò×é¼þ±à³Ì˼Ï룬¹é½áÆðÀ´¾ÍÊÇËĸö×Ö£ºÄ£¿é·Ö¸ô¡£ÕâÀïµÄ¡°·Ö¸ô¡±ÓÐÁ½²ãº¬Ò壬µÚÒ»¾ÍÊÇÒª¡°·Ö¡±£¬Ò²¾ÍÊÇÒª½«Ó¦ÓóÌÐò(ÓÈÆäÊÇ´óÐÍÈí¼þ)°´¹¦ÄÜ»®·Ö³É¶à¸öÄ£¿é£»µÚ¶þ¾ÍÊÇÒª¡°¸ô¡±£¬Ò²¾ÍÊÇÿһ¸öÄ£¿éÒªÓÐÏ൱³Ì¶ÈµÄ¶ÀÁ¢ÐÔ£¬Òª¾¡Á¿ÓëÆäËûÄ£¿é¡°¸ô¡±¿ª¡£ÕâËĸö×ÖÊÇÃæÏò×é¼þ±à³Ì˼ÏëµÄ¾«»ªËùÔÚ£¬Ò²ÊÇCOMµÄ¾«»ªËùÔÚ£¡Àí½âÁËÕâËĸö×Ö£¬Ò²¾ÍÕæÕýÀí½âÁËÃæÏò×é¼þ±à³ÌµÄ˼Ïë¡£(ÕâÀï˵һµãÌâÍâ»°£¬COMÆäʵÊÇÒ»Ì׹淶»òÕß˵һÌ×±ê×¼£¬µ«ÊÇÔÚÎÒ¿´À´£¬COMµÄºËÐÄ»¹ÔÚÓÚËüµÄ˼Ï룬Ҳ¾ÍÊÇÃæÏò×é¼þ±à³Ì˼Ïë¡£±ê׼˶¼Äܶ¨£¬µ«ÊÇ˼ÏëÖ»ÓÐÒ»¸ö£¡) ¡¡¡¡¶þ¡¢COMµÄÓŵ㠡¡¡¡COMµÄÓŵãÒ²¾ÍÊÇÃæÏò×é¼þ±à³Ì˼ÏëµÄÓŵ㡣¶øÃæÏò×é¼þ±à³Ì˼ÏëÓкܶàµÄÓŵ㣬ÉÏÃæËù˵µÄ±ãÓÚÈí¼þÉý¼¶Ö»ÊÇÆäÖÐÖ®Ò»¡£¶ÔÓÚËüµÄÓŵ㣬ÎÒ×ܽáÁËһϣ¬ÓÐÏÂÃæ¼¸Ìõ£º ¡¡¡¡1¡¢±ãÓÚÖØÓã¬Ê¹Èí¼þ¿ª·¢¸ü¿ì½Ý ¡¡¡¡2¡¢±ãÓÚÈí¼þÉý¼¶ ¡¡¡¡3¡¢±ãÓÚÈí¼þ¿ª·¢µÄ·Ö¹¤Ð×÷ ¡¡¡¡4¡¢±ãÓÚÓû§¶¨ÖÆ×Ô¼ºµÄÓ¦Óà ¡¡¡¡ÒÔÉϼ¸µã£¬µÚÒ»ºÍµÚ¶þµã¶¼²»ÓÃÔÙ¶à˵ÁË£¬Ç°Ãæ½²ÃæÏò×é¼þ±à³Ì˼ÏëµÄ²¿·ÖÀïÃæÒѾ³ä·Öչʾ³öÁËÕâÁ½µãÓŵ㡣ÔÚÕâÀïÎÒ½âÊÍһϵÚÈýºÍµÚËĵ㡣 ¡¡¡¡Èç½ñµÄºÜ¶à´óÐÍÈí¼þ£¬¶¼²»¿ÉÄÜÓÉijһ¸öÈ˵¥¶À¿ª·¢£¬ÉõÖÁ²»»áÓÉijһ¸ö¹«Ë¾È¥µ¥¶À¿ª·¢¡£ÕâÊÇÒòΪÏÖÔڵĺܶà´óÐÍÈí¼þ£¬×ÛºÏÐÔ̫ǿ£¬Éæ¼°µÄÃæÒ²Ì«¹ã¡£¶øÒ»¸öÈ˵ľ«Á¦ÊÇÓÐÏ޵쬲»¿ÉÄÜѧ»áÕâô¶à·½ÃæµÄ֪ʶ£¬Ò²²»¿ÉÄÜÕÆÎÕµ½Õâô¶à·½ÃæµÄ±à³Ì¼¼Êõ£¬¼´Ê¹ÓпÉÄÜ£¬ÕâÑù×öµÄЧÂÊÒ²ÊǺܵÍϵġ£ËùÒÔ£¬Í¨³£µÄÇé¿öÊÇ·Ö¹¤Ð×÷¡£ÈÔÒÔÇ°ÃæÌáµ½µÄÍøÉϰ칫¹ÜÀíϵͳΪÀý£¬Õâ¸öϵͳ·ÖΪÁËÈý¸öÄ£¿é£ºÖ÷¿ØÄ£¿é¡¢Í¨ÐÅÄ£¿éºÍÊý¾Ý¿âÄ£¿é¡£ÓÉÓÚÕâÈý¸öÄ£¿é¾ßÓÐÏ൱µÄ¶ÀÁ¢ÐÔ£¬ÄÇô¾Í¿ÉÒÔ½«ÏÖÓеÄËùÓпª·¢ÈËÔ±·ÖΪÈý×飬ÿһ×鸺ÔðÒ»¸öÄ£¿é¡£¶øÕâÈý×éÖ®¼ä£¬Ö»ÐèÒªÉÌÁ¿ºÃÏ໥¼äµÄ½Ó¿Ú¾Í¿ÉÒÔÁË¡£ÕâÑù£¬¶ÔÓÚÿһ¸ö¿ª·¢ÈËÔ±À´Ëµ£¬¾Í²»ÐèÒªÕÆÎÕËùÓеıà³Ì¼¼Êõ£¬ÉõÖÁ²»ÐèÒªÁ˽âÆäËûÄ£¿éµÄ¾ßÌåʵÏÖ£¬¶øÈí¼þÈÔÈ»ÄÜÓÐЧµÄ¿ª·¢³É¹¦¡£Õâ¾ÍÊÇËùνµÄ±ãÓÚÈí¼þ¿ª·¢µÄ·Ö¹¤Ð×÷ÁË¡£ ¡¡¡¡ ³ý´ËÖ®Í⣬Èç¹ûÒ»¸ö´óÐ͵ÄÈí¼þÏ£ÍûÔÊÐíÓû§ÔÚÒ»¶¨³Ì¶ÈÉ϶¨ÖÆ×Ô¼ºµÄÓ¦Óã¬ÄÇôCOMÒ²ÊÇ×îºÃµÄÑ¡Ôñ¡£±È·½ËµÒ»¸öÈí¼þÓÉÁ½¸öÄ£¿é×é³É£¬Ä£¿éAºÍÄ£¿éB£¬ÏÖÔÚÈí¼þµÄ¿ª·¢ÉÌÏ£Íû¸øÓèÓû§Ò»¶¨µÄÁé»îÐÔ£¬Ï£Íû¿ÉÒÔÔÊÐíÓû§×Ô¼º¶¨ÖÆÄ£¿éBÀ´ÊµÏÖ×Ô¼ºÌض¨µÄÓ¦Óã¬ÄÇô¾ÍÖ»ÐèÒª¹«¿ªÄ£¿éBµÄËùÓнӿڣ»¶øÓû§×Ô¼º±à³ÌʵÏÖÄ£¿éBʱҲֻÐèҪʵÏÖÁËËùÓеÄÕâЩ½Ó¿Ú¾ÍÐÐÁË¡£µ±È»£¬ÕâÀïÃæ»¹ÓкܶàÎÊÌ⣬±ÈÈçCOM×é¼þµÄ×¢²á£¬ÕâÉæ¼°µ½COM±ê×¼µÄһЩϸ½Ú£¬ÔÚÕâÀï²»×÷ÌÖÂÛ¡£ ¡¡¡¡Èý¡¢COMÖеöÖØÒª¸ÅÄî ¡¡¡¡1¡¢×é¼þ£º ¡¡¡¡ÆäʵֻҪÄã×ÐϸÔĶÁÁËÇ°ÃæµÄ²¿·Ö£¬×é¼þµÄ¸ÅÄîÓ¦¸ÃÒѾºÜÇå³þÁË¡£ÕâÀïËù˵µÄ×é¼þ£¬¾ÍÊÇÇ°Ãæ·´¸´ÔÚÌÖÂÛµÄËùν¡°Ä£¿é¡±¡£ÏÖÔÚÎÒÖ»ÏëÇ¿µ÷Ò»ÏÂ×é¼þÐèÒªÂú×ãµÄһЩÌõ¼þ¡£Ê×ÏÈÊÇ·â×°ÐÔ£¬×é¼þ±ØÐëÏòÍⲿÒþ²ØÆäÄÚ²¿µÄʵÏÖϸ½Ú£¬Ê¹´ÓÍⲿËùÄÜ¿´µ½µÄÖ»Êǽӿڡ£È»ºóÊÇ×é¼þ±ØÐëÄܶ¯Ì¬Á´½Óµ½Ò»Æð£¬¶ø²»±ØÏñÃæÏò¶ÔÏóÖеÄclassÒ»Ñù±ØÐëÖØÐ±àÒë¡£ ¡¡¡¡2¡¢½Ó¿Ú£º £ ÓÉÓÚ×é¼þÏòÍⲿÒþ²ØÁËÆäÄÚ²¿µÄϸ½Ú£¬Òò´Ë¿Í»§ÒªÊ¹ÓÃ×é¼þʱ¾Í±ØÐëͨ¹ýÒ»¶¨µÄ»úÖÆ£¬Ò²¾ÍÊÇ˵Ҫͨ¹ýÒ»¶¨µÄ·½·¨À´ÊµÏÖ¿Í»§Óë×é¼þÖ®¼äµÄͨÐÅ£¬Õâ¾ÍÐèÒª½Ó¿Ú¡£Ëùν½Ó¿Ú¾ÍÊÇ×é¼þ¶ÔÍⱩ¶µÄ¡¢ÏòÍⲿ¿Í»§Ìṩ·þÎñµÄ¡°Á¬½Óµã¡±¡£ÍⲿµÄ¿Í»§¼û²»µ½×é¼þÄÚ²¿µÄϸ½Ú£¬ËüËùÄÜ¿´µ½µÄÖ»Êǽӿڣ¬¿Í»§Ò²ÊÇͨ¹ý½Ó¿ÚÀ´»ñÈ¡×é¼þÌṩµÄ·þÎñ¡£ÕâÓеãÏñOSIÍøÂçÐÒé·Ö²ãÄ£ÐÍ£¬Ã¿Ò»²ã¾ÍÏñÒ»¸ö×é¼þ£¬ËüÄÚ²¿µÄʵÏÖϸ½Ú¶ÔÓÚÆäËû²ãÊDz»¿É¼ûµÄ£»¶øÃ¿Ò»²ãͨ¹ý¡°·þÎñ½ÓÈëµã¡±ÏòÆäÉϲãÌṩ·þÎñ£¬Õâ¾ÍÏñÕâÀïËù˵µÄ½Ó¿Ú¡£Ò»°ãÀ´Ëµ£¬½Ó¿Ú×ÜÊǹ̶¨µÄ£¬Ò²Êǹ«¿ªµÄ¡£×é¼þµÄ¿ª·¢ÈËԱҪʵÏÖÕâЩ½Ó¿Ú£¬¶ø¿Í»§Ôòͨ¹ý½Ó¿Ú»ñµÃ·þÎñ¡£ÕýÊǽӿڵÄÕâÖ̶ֹ¨ºÍ¹«¿ª£¬²ÅʹµÃ×é¼þºÍ¿Í»§Äܹ»ÔÚ²»Á˽â¶Ô·½µÄÇé¿öÏ´ï³ÉÒ»Ö¡£ ¡¡¡¡3¡¢¿Í»§£º ¡¡¡¡ÕâÀïËù˵µÄ¿Í»§²»ÊÇָʹÓÃÈí¼þµÄÓû§£¬¶øÊÇָҪʹÓÃijһ¸ö×é¼þµÄ³ÌÐò»òÄ£¿é¡£Ò²¾ÍÊÇ˵£¬ÕâÀïµÄ¿Í»§ÊÇÏà¶Ô×é¼þÀ´ËµµÄ¡£ ¡¡¡¡ËÄ¡¢COMµÄʵÏÖÔÀíÓë³ûÐÎÄ£Äâ ¡¡¡¡COM±à³ÌµÄÒ»¸öÖØÒªÌØµã¾ÍÊÇҪģ¿é»¯£¬ËµµÃ¾ßÌåһЩ£¬¾ÍÊÇÒª½«¿Í»§ºÍ×é¼þ·Ö¸ô¿ªÀ´£¬¶ø¿Í»§ºÍ×é¼þÖ®¼äÓÖÊÇͨ¹ý½Ó¿ÚÀ´Í¨Ðŵġ£ÏÂÃæ£¬ÎҾͽéÉÜÒ»ÏÂCOMÊÇÔõÑù½«¿Í»§Óë×é¼þ·Ö¸ô¿ªÀ´£¬ÓÖÊÇÔõÑùÀûÓýӿÚÀ´ÊµÏÖ¿Í»§Óë×é¼þ¼äµÄͨÐŵġ£ ¡¡¡¡Ê×ÏÈÎÒÒª½²½²½Ó¿Ú¡£COMÖеĽӿÚʵ¼ÊÉÏÊÇÒ»¸öº¯ÊýµØÖ·±í£¬µ±×é¼þʵÏÖÁËÕâ¸ö½Ó¿Úºó£¬Õâ¸öº¯ÊýµØÖ·±íÖоÍÌîÂúÁË×é¼þËùʵÏÖµÄÄÇЩ½Ó¿Úº¯ÊýµÄµØÖ·¡£¶ø¿Í»§Ò²¾ÍÊÇͨ¹ýÕâ¸öº¯ÊýµØÖ·±í»ñµÃ×é¼þÖÐÄÇЩ½Ó¿Úº¯ÊýµÄÖ¸Õ룬´Ó¶ø»ñµÃ×é¼þËùÌṩµÄ·þÎñµÄ¡£´ÓijÖÖÒâÒåÉÏ˵£¬ÎÒÃÇ¿ÉÒ԰ѽӿÚÀí½âΪc++ÖеÄÐéÄâ»ùÀࣻ»òÕß˵£¬ÔÚc++ÖпÉÒÔÓÃÐéÄâ»ùÀàÀ´ÊµÏÖ½Ó¿Ú£¡ÕâÊÇÒòΪCOMÖй涨µÄ½Ó¿ÚµÄ´æ´¢½á¹¹£¬ºÍc++ÖеÄÐéÄâ»ùÀàÔÚÄÚ´æÖеĽṹÊÇÒ»Öµġ£Æä´æ´¢½á¹¹ÈçÏÂͼ£º£ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ Ð麯Êý±í £ £ £ £ £ £ £ vtblÖ¸Õë------>Fun1()Ö¸Õë--------> £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ Fun2()Ö¸Õë--------> £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ Fun3()Ö¸Õë--------> £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ ¡¡¡¡ £ ¡¡¡¡VtblÖ¸ÕëÖ¸ÏòÒ»¸öÐ麯Êý±í£¬¶øÕâ¸öÐ麯Êý±íµÄ±íÏî¾ÍÊÇÖ¸ÏòÕâЩÐ麯ÊýµÄÖ¸Õë¡£ ¡¡¡¡½Ó¿ÚÓÐÁË£¬ÄÇô×é¼þÓÖÊÇÔõÑùʵÏÖ½Ó¿ÚµÄÄØ£¿Êµ¼ÊÉÏ£¬Èç¹ûÓÃÐéÄâ»ùÀàÀ´ÊµÏÖ½Ó¿Ú£¬ÄÇô×é¼þ¾ÍÊǶÔÕâ¸öÐéÄâ»ùÀàµÄ¼Ì³Ð¡£´ó¼ÒÖªµÀ£¬µ±Ä³¸öÀà¼Ì³ÐÓÚÒ»¸öÐéÄâ»ùÀàµÄʱºò£¬Ëü¾ÍҪʵÏÖÕâ¸öÐéÄâ»ùÀàÀïÉùÃ÷µÄÐ麯Êý£¬Õâ¾ÍÕýºÃÓë×é¼þʵÏÖ½Ó¿ÚÕâÒ»µãÏàÎǺϡ£¾ÙÒ»¸öÀý×ÓÀ´ËµÃ÷£¬ÓÐÒ»¸ö½Ó¿ÚInterfaceA£¬×é¼þComponentBҪʵÏÖÕâ¸ö½Ó¿Ú£¬ÄÇô¾Í¿ÉÒÔÕâÑùÓÃc++ÓïÑÔÀ´ÃèÊö£º //½Ó¿Ú£º class InterfaceA { virtual void Fun1()=0; virtual void Fun2()=0; }; //ʵÏÖÁ˽ӿÚInterfaceAµÄ×é¼þ£º class ComponentB: public InterfaceA { virtual void Fun1() { £ £ printf("Fun1\n" ; } virtual void Fun2() { £ £ printf("Fun2\n" ; } }; ¡¡¡¡¶ø¿Í»§Ö»ÐèÒªµÃµ½Ò»¸öÖ¸ÏòComponentBʵÌåµÄInterfaceAÖ¸Õë¾Í¿ÉÒÔ»ñµÃComponentB×é¼þµÄ·þÎñÁË£º //ʹÓÃÁË×é¼þComponentBµÄ¿Í»§£º ¡¡ ComponentB CB; InterfaceA *pIA=&CB;£ //»ñµÃÖ¸ÏòComponentBʵÌåµÄInterfaceAÖ¸Õ룬ÒÔÏ¿ͻ§¾Í¿ÉÒÔֻͨ¹ý½Ó¿ÚÀ´»ñÈ¡×é¼þµÄ·þÎñ pIA->Fun1(); pIA->Fun2(); ¡¡ ¡¡¡¡µ«ÊÇÎÒÃÇ×¢Òâµ½£¬ÕâÑù×ö×é¼þComponentBºÍ¿Í»§»¹ÊÇûÓб»ÍêÈ«·Ö¸ô¿ª¡£ÒòΪÔÚ¿Í»§´úÂëÀïÐèÒª´´½¨ComponentBʵÌ壬Õâ¶ÔÓÚÖ»ÄÜ¿´µ½½Ó¿Ú¶ø¶Ô×é¼þÒ»ÎÞËùÖªµÄ¿Í»§À´Ëµ£¬ÊDz»¿ÉÒÔ½ÓÊܵÄ(±ÈÈç¿Í»§²»»áÖªµÀ×é¼þµÄÀàÃû½ÐComponentB)¡£½â¾öÕâ¸öÎÊÌâµÄ·½·¨ÊÇÔÚʵÏÖ×é¼þµÄ¶¯Ì¬Á´½ÓÎļþ(±ÈÈçdllÎļþ)Àï´´½¨×é¼þµÄʵÌ壬¶ø²»ÊÇÔÚ¿Í»§´úÂëÀï´´½¨×é¼þʵÌ塣ͨ³£×é¼þ¶¼ÊÇÒÔdllµÄÐÎʽ³öÏֵ쬶øÔÚʵÏÖ×é¼þµÄdllÀï¶¼»áʵÏÖÒ»¸ö½ÐCreateInstanceµÄº¯Êý£¬Õâ¸öº¯Êý¿ÉÒÔ±»ÍⲿµÄ¿Í»§µ÷Óá£Ëü·µ»ØÒ»¸ö½Ó¿ÚµÄÖ¸Õ룬µ±¿Í»§µ÷ÓÃÕâ¸öº¯Êýºó¾ÍÄܹ»»ñµÃÖ¸Ïò×é¼þʵÌåµÄ½Ó¿ÚÖ¸ÕëÁË¡£ËüµÄʵÏÖÒ²ºÜ¼òµ¥£º //ÔÚʵÏÖ×é¼þComponentBµÄdllÀ InterfaceA *CreateInstance() { £ ComponentB CB; £ InterfaceA *pIA=&CB; £ return pIA; } ¡¡¡¡µ±È»£¬ÕæÕýµÄCreateInstanceº¯ÊýûÓÐÕâô¼òµ¥£¬ÎÒÉÏÃæµÄ´úÂëÖ»ÊÇÒ»¸ö¼òµ¥µÄÄ£Äâ¡£ÓиöCreateInstanceº¯ÊýÖ®ºó£¬¿Í»§´úÂë¾Í±ä³ÉÁË£º //ʹÓÃÁË×é¼þComponentBµÄ¿Í»§£º ¡¡ InterfaceA *pIA=CreateInstance();£ //»ñµÃÖ¸ÏòComponentBʵÌåµÄInterfaceAÖ¸Õ룬ÒÔÏ¿ͻ§¾Í¿ÉÒÔֻͨ¹ý½Ó¿ÚÀ´»ñÈ¡×é¼þµÄ·þÎñ pIA->Fun1(); pIA->Fun2(); ¡¡ ¡¡¡¡ÕâÑù£¬×é¼þºÍ¿Í»§¾ÍÍêÈ«±»·Ö¸ô¿ªÁË£¬¶øÁ¬½ÓËüÃǵÄÖ»ÓнӿÚÒÔ¼°Ò»¸öCreateInstanceµÄº¯Êý¡£ ¡¡¡¡ÒÔÉϾÍÊÇCOMµÄ»ù±¾ÔÀíÁË¡£µ±È»£¬ÎÒÇ°ÃæÒ²ËµÁË£¬COMÆäʵÊÇÒ»Ì׹淶£¬Ëü¶¨ÒåÁ˺ܶà±ê×¼£¬±ÈÈçCOM¹æ¶¨Ã¿¸ö½Ó¿Ú¶¼±ØÐë¼Ì³ÐÓÚÒ»¸ö½ÐIUnknownµÄ½Ó¿Ú¡£ÎÒÕâÀï»ù±¾ÉÏûÓÐÌá¼°ËüµÄÕâЩ±ê×¼£¬Ö»ÊÇÏ£ÍûÄÜͨ¹ý¶ÔËü½øÐÐÒ»¸ö¼òµ¥µÄÄ£ÄâÀ´ËµÇå³þËüµÄʵÏÖÔÀí¡£ÏÂÃæ¾Í¸ø³öÎÒÄ£ÄâCOM»úÖÆÊµÏÖµÄÒ»Ì×COMµÄ³ûÐΣ¬Ï£ÍûÄܶԴó¼ÒÀí½âCOMÓаïÖú¡£ ¡¡¡¡1¡¢ÊµÏÖÁË×é¼þComponentBµÄComponentDll.dll£º //Interface.h //½Ó¿Ú class InterfaceA { public: virtual void Fun1()=0; virtual void Fun2()=0; }; //Component.h //×é¼þ(ʵÏÖÁ˽ӿÚInterfaceA) class ComponentB: public InterfaceA { public: virtual void Fun1() { printf("Fun1\n" ; } virtual void Fun2() { printf("Fun2\n" ; } }; //ComponentDll.cpp //CreateInstanceº¯Êý ComponentB instance; extern "C" _declspec(dllexport) InterfaceA *CreateInstance() { InterfaceA *pIA=&instance; return pIA; } ¡¡¡¡2¡¢¿Í»§Client.exe£º //Client.cpp #include "Interface.h" #pragma comment(lib,"ComponentDll" int main(int argc, char* argv[]) { InterfaceA *pIA=0; pIA=CreateInstance(); if(pIA!=0) pIA->Fun1(); return 0; } [ Last edited by »ÃÓ°ÎÞºÛ on 2006-11-13 at 08:01 ] |
» ²ÂÄãϲ»¶
¿ÒÇëÓÐѧУÊÕÁô
ÒѾÓÐ6È˻ظ´
Çóµ÷¼ÁÍÆ¼ö
ÒѾÓÐ8È˻ظ´
0854Çóµ÷¼Á
ÒѾÓÐ14È˻ظ´
300Çóµ÷¼Á
ÒѾÓÐ9È˻ظ´
291Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
289 ·Ö105500ҩѧר˶Çóµ÷¼Á(ÕÒBÇøÑ§Ð£)
ÒѾÓÐ4È˻ظ´
³õÊÔ324 ÖÐҩѧ Ò»Ö¾Ô¸ÌìÖÐÒ½ Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
ҩѧÇóµ÷¼Á
ÒѾÓÐ14È˻ظ´
327Çóµ÷¼Á
ÒѾÓÐ27È˻ظ´
¼±Ðèµ÷¼Á
ÒѾÓÐ5È˻ظ´














;
»Ø¸´´ËÂ¥