ºìÁªLinuxÃÅ»§
Linux°ïÖú

JavaºÍC++µÄ»ù±¾²îÒì

·¢²¼Ê±¼ä:2006-04-21 12:54:09À´Ô´:ºìÁª×÷Õß:ÏèÏè
Ç°ÑÔ

JavaȺÌåÿÌ춼ÔÚÀ©´ó£¬Ëü¼È°üÀ¨Ò»Ð©ÊÀ½ç×î´óµÄISV£¬Ò²°üÀ¨¹«Ë¾CIO¡¢ÐÅÏ¢¼¼ÊõÈËÔ±¡¢ÏµÍ³·ÖÎöÈËÔ±¡¢C/S¿ª·¢ÈËÔ±¡¢±à³ÌÈËÔ±¡¢¶àýÌåÉè¼ÆÕß¡¢Êг¡ÐÐÏúÈËÔ±¡¢½ÌÓý¹¤×÷Õß¡¢¾­Àí¡¢Ó°ÊÓÉú²úÕßÉõÖÁÒµÓà°®ºÃÕߵȹ㷺µÄÓû§¡£´Ó´«Í³ÉÏ¿´£¬ÕâÑùһЩÈËÔÚÒ»ÆðÓÐЧµØ¹¤×÷ÊDz»¶à¼ûµÄ¡£µ±ÎÒÃÇ̸µ½¿ª·Åϵͳʱ£¬ÎÒÃÇÍùÍùÊǾÍÒÑ·¢±íµÄAPI¼°¹æ¸ñ£¬»òÕßÔ´ÂëµÄ¿ÉµÃÐÔ£¬»òÕßÓ²¼þ¡¢ÁªÍø¼°²Ù×÷ϵͳ¶øÑԵģ¬Ã»ÓÐÒ»¸öÈËÊÇ´ÓÈ˵Ŀª·ÅÒâÒåÉÏÀ´Ì¸µÄ¡£JavaÍê³ÉÁË¿ª·ÅϵͳµÄ±ÕºÏÁ´¡£Ëü¿ª·¢ÁËÈËÁ¦×ÊÔ´£¬¶ø·´¹ýÀ´ÓÖ¿ª±ÙÁ˹²Í¬¹¤×÷µÄµÀ·¡£

һ̸µ½Java£¬ÈËÃÇÂíÉÏ»áÏëÆðÒ»ÖÖÀàËÆÓÚC++µÄ¡¢ÊÊÓÃÓÚ·Ö²¼»·¾³µÄÃæÏò¶ÔÏó±à³ÌÓïÑÔ£¬Ïëµ½ÕâÖÖÓïÑԵļòµ¥¡¢Îȶ¨¡¢°²È«¡¢ÓëÌåϵ½á¹¹Î޹ء¢¿ÉÒÆÖ²¡¢¿É½âÊÍ¡¢¸ßÐÔÄÜ¡¢¶àÏ̺߳Ͷ¯Ì¬ÐÔµÈÌØÕ÷¡£ÕâЩ¶¼ÊÇJava×÷ΪһÖÖ³ÌÐòÉè¼ÆÓïÑÔµÄÖ÷ÒªÌØÕ÷¡£

JavaÊÇÓÉSun¹«Ë¾µÄÒ»¸ö¼¼ÊõС×éÑÐÖƳöÀ´µÄ¡£ÔÚʵÏÖJavaÓïÑԵĹý³ÌÖУ¬SunС×éµÄ¼¼ÊõÈËÔ±ºÜ¿ì¾ÍÒâʶµ½:C++ÎÞ·¨³ÉΪһÖÖÍêÈ«ÃæÏò¶ÔÏóµÄ¡¢ÍøÂ绯µÄ¿ª·¢ÓïÑÔ¡£C++ÊÇͨ¹ý¸øÔ­ÏȵÄCÓïÑÔÔö¼ÓÃæÏò¶ÔÏó¹¦Äܶø¿ª·¢³öÀ´µÄ£¬Òò´Ë,Ëü´æÔÚ×ÅÏÈÌì²»×ã¡£ÕâÖ÷ÒªÌåÏÖÔÚC++ÖÖÀà·±¶à£¬¹¦ÄÜ´óÁ¿ÈßÓ࣬ͬʱÓÖûÓÐÈκÎÒ»ÖÖC++±àÒëÆ÷Äܹ»Ö§³ÖËüµÄÈ«²¿¹¦ÄÜ¡£¼øÓÚÕâÖÖÇé¿ö£¬Sun¹«Ë¾µÄ¼¼ÊõÈËÔ±¾ö¶¨²»À©³äC++£¬¶ø¿ª·¢Ò»ÖÖȫеļÆËã»úÓïÑÔ(JavaµÄÇ°ÉíOak)¡£µ«ÊÇ£¬C++ÒѾ­³ÉÁË´ó¶àÊý±à³ÌÈËÔ±ËùÊìÁ·ÕÆÎÕµÄÓïÑÔ£¬JavaµÄÉè¼ÆÏÔÈ»²»ÄÜÎÞÊÓÕâ¸öÏÖʵ¡£Èç¹ûJavaºÍC++Ö®¼äµÄ²î±ð¹ý´ó£¬ÄÇô³ÌÐòÔ±ÃÇÔÚѧ»áÕâÖÖÓïÑԵĹý³ÌÖÐÎÞÒÉÒª»¨·Ñ´óÁ¿µÄʱ¼äºÍ¾«Á¦¡£Òò´Ë£¬Java±£ÁôÁ˾¡¿ÉÄܶàµÄC++·ç¸ñ¡£

Java×Ôµ®ÉúÆð£¬ÎªÍøÂçÓû§´´ÔìÁËÎÞÊý¿Í»§¶ËµÄСӦÓóÌÐò£¬ÓÉÓÚÕâÀàÓ¦ÓóÌÐòЧ¹ûÁ¼ºÃ¡¢ÊýÁ¿¾Þ´ó£¬ÒÔÖÁÓÚÐí¶àÓû§Ïëµ½Java±à³ÌÓïÑÔʱ£¬»áÔÚÄÔº£ÖгöÏÖÒ»¸ö²»ÍêÈ«ÕýÈ·µÄÓ¡Ïó-JavaÊÇÓÃÀ´±àдСµÄ¿Í»§¶Ë³ÌÐòµÄ¡£Æäʵ£¬Ëæ׿¼ÊõµÄ½ø²½£¬JavaÓïÑÔÕýÔÚÖ𲽸ıä×Ô¼ºÖ´ÐÐЧÂʽϵ͡¢ÎÞ·¨µ£ÈÎÆóÒµ¹Ø¼ü¼ÆËãÈÎÎñµÄÐÎÏ󣬲»¶ÏÏò¼ÆËã¼¼ÊõµÄºËÐĵشøÇ°½ø¡£½ñÌìµÄJava¼¼ÊõÕýÑØ×ÅÍøÂçÉøÈë¸÷¸öÓ¦ÓÃÁìÓò¡£

ÆóÒµ¼ÆË㣺ÆóÒµ¼ÆËãÊÇJava×îÖØÒªµÄ¼¼ÊõÖ÷Ìâ¡£Sun¹«Ë¾ÒѾ­¹«²¼ÁËÆóÒµJavaBean£¨EJB£¬Enterprise JavaBean£©µÄ¹æ¸ñ£¬ËæºóÖڶ๫˾¿ªÊ¼¿ª·¢ÆóÒµÓ¦ÓÃÁìÓòµÄJava¼¼Êõ¡£IBM¹«Ë¾Ò²ÒѾ­ÎªWindows NT¿ª·¢ÁËIBM HPCJ£¨High Performance Compiler for Java£©12.0°æ£¬Í¬Ê±ÑÐÖÆÁËIBM JDK£¨JavaDevelopment Kit£©for Windows NT£¬Novell¹«Ë¾Ò²ÔÚÐû²¼ÁËÒ»¸öеķþÎñÆ÷¶ËµÄÆóÒµJavaƽ̨£¬¶øSun¹«Ë¾Ò²ÔÚ»ý¼«µØÉý¼¶×Ô¼ºµÄJDKϵͳ£¬Õâ¸öÐÎÊƱíÃ÷£¬JavaÕýÔÚÎȲ½×ßÏòÆóÒµ¸ß¶Ë¼ÆËã¡£¶ÔÓÚJavaÀ´Ëµ£¬ÓëÆäËü±à³ÌÓïÑÔÕù¶áÆóÒµ¼ÆËãÖ÷Á¦±à³Ì¹¤¾ßµÄÓÅÊÆÔÚÓÚ£ºÆäÒ»£¬JavaÔÚ½øÐÐÃæÏò¶ÔÏóµÄ±à³Ì¹¤×÷ʱ£¬±ÈÆäËüµÄ±à³ÌÓïÑÔÈçC++¸ü¼Ó¼òµ¥£¬Òò´Ë±£Ö¤Á˱à³ÌµÄ¸ßЧÂÊ£¬¼õÉÙÁ˱à³ÌͶÈ룻Æä¶þ£¬JavaÐéÄâ»ú¼¼ÊõËùÌṩµÄ"Ò»´Î±à³Ì£¬µ½´¦Ê¹ÓÃ"µÄ¿çƽ̨ÄÜÁ¦·Ç³£ÊʺÏÍøÂç»·¾³£¬Õâ¸øJavaÔÚÍøÂç·þÎñÆ÷¶ËµÄ·¢Õ¹ÌṩÁ˱ãÀûÌõ¼þ£»ÆäÈý£¬JavaÓµÓÐÇ¿´óµÄÌṩÉ̺ÍÖ§³ÖÕ߶ÓÎ飬¸Ã¶ÓÎé°üÀ¨IBM¡¢Oracle¡¢Novell¡¢SybaseºÍNetscapeµÈ¹«Ë¾¡£

ÌáËÙÔËÐУºÐí¶àÆóÒµµÄÓ¦Óÿª·¢ÈËÔ±·Ç³£Ï²°®JavaµÄÓïÑÔÌØÐÔ£¬µ«ÊÇÔÚ¿ª·¢ÖØҪϵͳʱ£¬ÓïÑÔÌØÐÔºÍÖ´ÐÐЧÂÊÖ®¼äµÄ¾ñÔñÍùÍùÁîÈËÉË͸ÄԽÔڹؼü¼ÆËãÖУ¬Óû§¿ÉÄܲ¢²»ÔÚºõÊý¾ÝÈçºÎѹËõ»òÕßÔËÐеÄÑÓ³Ù¹ØϵÈçºÎÉèÖ㬵«ÊǶԳÌÐòµÄÔËÐÐËÙ¶ÈÈ´·Ç³£ÖØÊÓ£¬Õâʹ³§É̽«JavaµÄ±àÒë²ßÂÔ¿ª·¢·ÅÔÚÁËÊ×λ¡£ÏÖÔÚµÄJavaÓïÑÔ£¬ÆäÖ´Ðз½Ê½ÒѾ­²»½ö½öÊǽâÊÍÖ´Ðз½Ê½ÁË£¬¼´Ê±±àÒëÆ÷£¨JITC¡¢just-in-time compiler£©¼¼ÊõºÍÔ­ÐͱàÒë¼¼ÊõÒѾ­±»Ðí¶à³§¼Ò²ÉÓ㬰üÀ¨Sun¡¢IBM¡¢OracleÒÔ¼°NetscapeµÈ¹«Ë¾ÔÚÄڵļ¼ÊõÌṩÉÌÕýÔÚÀûÓÃÕâЩ¼¼ÊõÖð²½Ìá¸ßJavaµÄÖ´ÐÐËٶȣ¬ÆäÖÐIBM¹«Ë¾ÔçÒѽ«JavaÐéÄâ»ú£¨JVM£¬JavaVirtual Machine£©¡¢²Ù×÷ϵͳºÍÓ²¼þµÄÌØÐÔÓлúµÄ½áºÏÔÚÒ»Æ𣬷dz£ÓÐЧµØÌá¸ßÁËJavaµÄÖ´ÐÐЧÂÊ¡£

ǶÈë¼ÆË㣺ǶÈëʽJavaÊÇÒ»¸öDZÁ¦¾Þ´óµÄÓ¦Óü¼Êõ£¬¸Ã¼¼Êõ³ä·Ö·¢»ÓÁËJavaСÇÉÁé»îµÄÌص㡣ÒÔHP¹«Ë¾ÎªÀý£¬¸Ã¹«Ë¾ÒÔ×Ô¼ºµÄ·½Ê½ÖÆÔì±àÒ빤¾ßºÍJavaÐéÄâ»ú£¬ÆäÄ¿µÄÊǽ«JavaǶÈë¸÷ÖÖÉ豸£¬Èç´òÓ¡»ú¡¢Ò½Ñ§¼àÊÓÆ÷ºÍ×Ô¶¯Ìá¿î»úµÈ¡£Ç¶ÈëÉ豸ÒÀ¿¿Ò»¸öʵʱ²Ù×÷ϵͳÀ´´¦Àíijһ¸öʵʱÉúЧµÄʼþ£¬Java±»Ç¶ÈëÕâЩÉ豸ºó£¬Í¨¹ýʵʱÀ©Õ¹£¨real-time extension£©¿ªÊ¼·¢»Ó×÷Óã¬Ê¹É豸¾ß±¸ÁËÒ»¶¨µÄÖÇÄÜÐÔ£¬ÔöÇ¿ÁËǶÈëÉ豸µÄ¿É¹ÜÀíÐԺͿÉÓÃÐÔ£¬´ó´óÌá¸ßÁËÉ豸µÄ¹¤×÷ЧÂÊ¡£¸÷³§É̶ÔÕâһDZÁ¦¾Þ´óµÄÊг¡¶¼·Ç³£ÖØÊÓ£¬Ä¿Ç°¸ÃÊг¡È±·¦µÄÊÇÒ»¸ö±ê×¼£¬Èç¹û´æÔÚ±ê×¼µÄ»°£¬ÏàÐźܿì¾Í»áÓдóÁ¿Ê¹ÓÃǶÈëJava¼¼ÊõµÄÉ豸ÉÏÊС£

΢Èí¸Õ¸Õ·¢ÐеÄWindows XP·ÅÆúÁ˶ÔJavaµÄÖ§³Ö£¬µ«JavaÄܹ»¶ÀÁ¢ÔËÐÐÓںܶà²Ù×÷ƽ̨ÉÏ£¬ÆäÖÐÒ²°üÀ¨Linux£¬²¢ÇÒÔÚijЩÌØÐÔÉÏÒª±ÈÔÚWindowsÉÏ·¢»ÓµÃ¸üºÃ£¬ÎÒÃÇÍêÈ«ÓÐÀíÓÉÅ×ÆúWindows¶øÑ¡ÔñʹÓÃLinuxÀ´×öJava¿ª·¢¡£ÏÖÔÚ£¬Äã¿ÉÒÔ×óÊÖÄÃ×ÅLinux£¬ÓÒÊÖÄÃ×ÅJava£¬È»ºó¶ÔÃæ´ø΢ЦÊÖÀïÄÃ×ÅWindows XPµÄBill Gates˵£º"ÈÃÄãµÄXPÈ¥¼û¹í°É£¡"

¶ÔÓÚÈí¼þ¿ª·¢ÕßÀ´½²£¬ÈκÎÒ»ÖÖ±à³ÌÓïÑÔ¶¼²»¿ÉÄÜÊÇÍêÃÀµÄ¡£Èç¹ûÏ£Íû¸üºÃµØÀí½âJavaÓïÑÔ£¬×îºÃµÄ·½·¨ÊÇ°ÑÕâÖÖÓïÑÔÓëÆäͬÀàÐ͵ÄÓïÑÔÏà±È½Ï¡£¼ÈÈ»JavaÀàËÆÓÚC++£¬°ÑËüͬC++½øÐÐÒ»·¬±È½ÏÒ²ÊÇ˳Àí³ÉÕµÄÊÂÇé,ÄÄÒ»¸öºÃ£¬ÄÄÒ»¸ö²»ºÃ£¬Ã¿¸ö¿ª·¢ÈËÔ±¶¼Óи÷×ԵĿ´·¨¡£ÎÒ¸öÈËÈÏΪJava¿ª·¢Òª±ÈC++ºÃһЩ¡£µ±È»Ã¿¸öÈ˵Ŀ´·¨ºÍϲºÃÊDz»Í¬µÄ¡£ºóÃæµÄÎÄÕ½«Ïò´ó¼Ò½éÉÜJavaºÍC++µÄ²»Í¬ºÍ¶ÔÆäµÄ¸Ä½ø¡£ÊëÇ¿ÊëÈõ£¬´ó¼Ò×ÔÈ»¾Í»áÃ÷°×ÁË¡£

ÎÒÃÇÖªµÀ£¬JavaÒ»¿ªÊ¼²ÉÓÃC++µÄÓï·¨¸ñʽ£¬»ù±¾ÉÏÊÇΪÁËÈóÌÐòÉè¼ÆÕß¿ÉÒԺܿìµØÊìϤ JavaµÄÓï·¨¸ñʽ£¬Ëõ¶ÌѧϰJavaµÄʱ¼ä£¬±Ï¾¹CºÍC++ÈÔ¾ÉÊÇ×î¶àÈË»áµÄÒ»ÖÖ³ÌÐòÓïÑÔ¡£µ«ÊÇÈç¹ûÎÒÃÇ×Ðϸ¼ì²éJava³ÌÐòÓïÑÔµÄÐí¶àϸ½ÚÉè¼Æ£¬ÎÒÃÇ¿ÉÒÔ·¢ÏÖJavaÈ¥µôÁ˲»ÉÙC++µÄÌص㣬²¢ÇÒ¼ÓÈëһЩеÄÌØÐÔ¡£ÕâЩÓëC++µÄ²îÒì°üÀ¨£º

1.²»ÔÙÓÐ#define¡¢#includeµÈÔ¤´¦Àí³ÌÐò(Preprocessor)µÄ¹¦ÄÜ

C++ÓïÑÔºÜÖØÒªµÄÒ»¸öÌصã¾ÍÊÇËüµÄÔ¤´¦Àí³ÌÐò¡£ÓÐЩÆäËû³ÌÐòÓïÑÔËäȻҲ¼ÓÈëÁË#includeµÄ¹¦ÄÜ£¬µ«ÊÇ»¹ÊÇǷȱ´¦Àíºê(Macro)µÄÄÜÁ¦¡£#defineµÄ¹¦ÄÜÔÚJavaÖÐÎÒÃÇ¿ÉÒÔÓö¨Òå³£Êý(constant)µÄ·½Ê½À´È¡´ú£¬¶ø#includeÔÚJavaÖÐÊDz»ÐèÒªµÄ£¬ÒòΪÔÚJavaÖгÌÐòÔÚÖ´ÐÐʱ£¬»á°ÑÀàÐÍÊý¾Ý¼Ç¼ÔÚ¶ÔÏóʵÌåÖ®ÖУ¬ÎÒÃDz»ÐèÒª¿¿Ò»Ð©±êÍ·Îļþ(header file)À´ÖªµÀÎÒÃÇʹÓõĶÔÏó»òÊýÖµÊÇÊôÓÚʲôÊý¾ÝÀàÐÍ¡£

Èç¹ûÄãʹÓÃC++ÓïÑÔʱ£¬Ö»Ê¹ÓÃÔ¤´¦Àí³ÌÐòµÄ#includeºÍ#define¹¦ÄܵĻ°£¬ÄÇôÄã´ó¸Å²»»á¾õµÃJavaÕâÑùµÄÉè¼Æ¶ÔÄã²úÉúʲôÑùµÄÀ§ÈÅ£¬µ«ÊÇÈç¹ûÄãÊÇʹÓÃC++ÓïÑÔÔ¤´¦Àí³ÌÐòÖк깦ÄܵĸßÊÖ£¬Äã¿ÉÄÜ»á¾õµÃºÜ²»·½±ã£¬½ø¶ø»³ÒÉJavaÈç´ËÉè¼ÆµÄÒâÒåºÎÔÚ¡£

ʹÓÃÔ¤´¦Àí³ÌÐòËäÈ»¿ÉÒԺܷ½±ãµØ´ïµ½Ðí¶à¹¦ÄÜ£¬µ«ÊÇÕ¾ÔÚÈí¼þ¹¤³ÌµÄ½Ç¶ÈÉÏ¿´£¬¶ÔÕû¸öÈí¼þµÄά»¤ÆäʵÊǺܲ»ÀûµÄ¡£ÓÉÓÚC++ÓïÑÔÖÐÔ¤´¦Àí³ÌÐòµÄ¹¦ÄÜÌ«¹ýÇ¿´ó£¬À÷º¦µÄ³ÌÐòÉè¼Æ¸ßÊÖ³£»á×ÔÐпª·¢Ò»Ì×Ö»ÓÐ×Ô¼º¿´µÄ¶®µÄºêÓïÑÔ£¬Ò»µ©Õû¸öÈí¼þÒª½»¸øÆäËûÈËȥά»¤£¬ºó¼ÌÕߺÜÄÑÔÚ¶Ìʱ¼äÄÚÁ˽âÇ°Ò»¸öÈËËùдϵĺ깦ÄÜ£¬Ôö¼ÓÈí¼þ¿ª·¢Ê±ÍŶӹ¤×÷¼°ÈÕºóά»¤µÄÀ§ÄѶȡ£

ÁíÍâÒ»µãÔòÊÇC++ÓïÑԵıàÒëÆ÷Ëù¿´µ½µÄ³ÌÐò´úÂ룬ÆäʵºÍ³ÌÐòÉè¼ÆÕß¿´µ½µÄ³ÌÐò´úÂëÊDz»Í¬µÄ¡£³ÌÐòÉè¼ÆÕß¿´µ½µÄÊÇÉÐδ¾­¹ýÔ¤´¦Àí³ÌÐò´¦Àí¹ýµÄ³ÌÐò´úÂ룬¶ø±àÒëÆ÷¿´µ½µÄÔòÊÇÔ¤´¦Àí³ÌÐò´¦Àí¹ýµÄ³ÌÐò´úÂ룬һµ©½»¸øÔ¤´¦Àí³ÌÐò´¦ÀíµÄºêÄÚÈÝÓÐÎ󣬱àÒëÆ÷²úÉúµÄ´íÎóÐÅÏ¢½«²»»áÊdzÌÐòÉè¼ÆʦËùÔ¤Áϵġ£¶øÕâÒ»µã×ÔȻҲÔö¼ÓÁ˳ÌÐòÔÚÅÅ´íʱµÄÀ§ÄѶȡ£

Ô¤´¦Àí³ÌÐòµÄ´æÔÚÒ²Ôì³ÉÁËÔĶÁ³ÌÐòµÄ²»±ã¡£Èç¹ûÄãÏëʹÓñðÈËÒѾ­Íê³ÉµÄC++ÓïÑÔ³ÌÐò£¬ÄÇôͨ³£Äã²»µ«ÒªÔĶÁËûËùдϵÄÎļþ£¬»¹±ØÐëÒ»²¢²éÔÄÉÏÎļþ£¬²ÅÄÜÁ˽âÆä³ÌÐòµÄȫò¡£Èç¹û»»³ÉÊÇJava³ÌÐò£¬Ö»Òª²é¿´javaµÄ³ÌÐòÎļþ¾Í¹»ÁË¡£

2.²»ÔÙÓÐstructure¡¢union¼°typedef

ÊÂʵÉÏ£¬ÔçÔÚC++ÖоͿÉÒÔÈ¥µôCÓïÑÔÖеÄstructureºÍunionµÈ¶Ô¸´ÔÓÊý¾ÝµÄ×Ô¶¨½á¹¹ÀàÐÍ£¬ÒòΪÀà(Class)µÄ¶¨Ò巽ʽ¿ÉÒÔÍêÈ«×öµ½ÕâÏÄÜ¡£¶øtypedefÒ²ÊDz»±ØÒªµÄ£¬Ò»Çж¼ÓÃÀà¾Í¿ÉÒÔÁË¡£ËäÈ»C++ÕâÑùµÄÉè¼ÆÊÇΪÁ˺ÍCÓïÑÔ¼æÈÝ£¬µ«ÊÇʹÓöàÓàµÄÓïÑÔÌص㲻µ«²»±ØÒª£¬¶øÇÒÈÝÒ×Ôì³É¶Ô³ÌÐòÈÏʶµÄ»ìÏý¡£

3.²»ÔÙÓк¯Êý

ÔÚJava³ÌÐòÓïÑÔÖУ¬È¥µôÁ˳ÌÐòÏòµ¼ÓïÑÔÖÐ×îÖØÒªµÄµ¥Ôª--º¯Êý(Function)¡£Èç¹ûÎÒÃÇÒÔ¶ÔÏóÏòµ¼µÄ¹ÛÄîÀ´¿´´ýº¯Êý£¬¾Í¿ÉÒÔÁ˽⺯ÊýÔÚ¶ÔÏóÏòµ¼µÄ¸ÅÄîÖУ¬ÊDz»±ØÒªµÄ¡£ÔÚ¶ÔÏóÏòµ¼µÄ³ÌÐò¹ÛÄîÀ¶ÔÏóµÄÊý¾Ý²ÅÊÇÕæÕýµÄÖ÷Ì壬¶ø´¦Àí¶ÔÏóÊý¾ÝµÄ·½·¨Ôò±ØÐëÒÀ¸½ÔÚ¶ÔÏóÄÚ²ÅÓÐÒâÒå¡£Òò´Ë£¬È¥µôº¯Êý²¢²»±íʾ²»ÔÙÓÐ×Ó³ÌÐòµÈÄ£×黯³Ì ÐòµÄ¸ÅÄÏà·´µØ£¬ÊÇÀûÓöÔÏóÖеķ½·¨À´È¡´úº¯Êý£¬ÔÙÒ»´ÎÇ¿»¯¶ÔÏòµ¼µÄ·¢Õ¹²ßÂÔ¡£

4.²»ÔÙÓжàÖؼ̳Ð(Multiplelnheritance)

ÔÚC++ÖУ¬¶àÖؼ̳ÐÊÇÒ»ÏîºÜÇ¿µÄ¹¦ÄÜ£¬µ«Ò²ÊÇÒ»°ãÈËÄÑÒÔÕƿصIJ¿·Ö¡£È¥µô¶àÖؼ̳ÐËäÈ»½µµÍÁËJavaÓïÑԵŦÄÜ£¬µ«ÊÇÒ²´ó·ù¼ò»¯×«Ð´³ÌÐòʱµÄÀ§ÄѶȡ£ËäÈ»ÒƳýÁ˶àÖؼ̳еŦÄÜ£¬µ«ÊÇJavaÌṩÁËinterfaceµÄ·½Ê½£¬¿ÉÒÔ´ïµ½²¿·Ö¶àÖؼ̳еŦÓá£ËùνµÄinterface»ù±¾É϶¨ÒåÁËÒ»¸öÀàµÄ¶ÔÍ⹵ͨµÄ·½·¨Ô­ÐÍ£¬ÒÔ¼°ÀàÄÚ²¿µÄ³£ Êý£¬ºÍ¶àÖؼ̳в»Í¬Ö®´¦ÔÚÓÚinterface²¢²»»á¶¨ÒåÀà·½·¨µÄÄÚÈÝ£¬ÒÔ¼°ÀàÖеıäÁ¿Êý¾Ý¡£

5.²»ÔÙÓÐGoto

ÔÚ³ÌÐòÓïÑԵķ¢Õ¹Ê·ÉÏ£¬GotoÒ»Ö±ÊÇ»ÙÓþ²Î°ëµÄÒ»ÏÄÜ¡£ÔںܶàʱºòʹÓÃGoto¿ÉÒÔ´ó·ù¼õÉÙ²»±ØÒªµÄ³ÌÐò´úÂ룬µ«ÊÇÒ²ÓÉÓÚGoto¿ÉÒÔºÜ×ÔÓɵظıä³ÌÐòµÄÁ÷³Ì£¬Èç¹ûðȻµØʹÓ㬸ü¿ÉÄÜÔì³É³ÌÐò½á¹¹»ìÂÒµÄÇé¿ö¡£Ò»°ãÀ´Ëµ£¬ÕýȷʹÓÃGotoµÄÀý×Ó¶à³öÏÖÔÚÑ­»·ÄÚ²¿£¬ÏëÒªÌáÔç½áÊøijһ²ãÑ­»·¡£ÔÚCÓïÑÔÖУ¬ÎÒÃÇ¿ÉÒÔʹÓÃbreak »òcontineÀ´¸Ä±äijһ²ãÑ­»·µÄÁ÷³Ì£¬ µ«Èç¹ûÏëÒª¸Ä±äÁ½²ãÒÔÉϵĻ·Ö´ÐÐÁ÷³Ì£¬²»ÊÇʹÓÃGoto¾ÍÊÇÒÔ¶àÓàµÄ²¼¶û(boolean)±äÁ¿£¬ÅäºÏÉÏÒ»´®if-then-elseµÄÅжÏÀ´´ï³É¡£

JavaÒ»·½ÃæÒƳýÁËGotoµÄ¹¦ÄÜ£¬ ¶øÁíÒ»·½ÃæͬʱÀ©´óÁËbreakºÍcontinueµÄ¹¦ÄÜ£¬¿ÉÒÔÔÊÐí¶à²ãÑ­»·µÄbreak»òcontinue¡£Èç´ËÒ»À´²»µ«±ÜÃâÁËÀÄÓÃGotoµÄ¿ÉÄÜÐÔ£¬Í¬Ê±Ò²±£´æÏÂGotoµÄºÃ´¦¡£

6.²»ÔÙÓÐOperatorOverloading

ÔÚC++ÖУ¬Operator OverloadingͬÑùÒ²ÊÇÒ»ÏîÖµµÃÌÖÂÛµÄÉè¼Æ¡£¼¸ºõÔÚËùÓÐC++µÄÊéÖУ¬¶¼»áÒýÓÃһЩÀý×Ó£¬¸æËßÄãʹÓÃOperatorOverloading¿ÉÒÔʹÄãµÄ³ÌÐò¿´ÆðÀ´¸üΪ×ÔÈ»¡£ÈçÏÂÃæÊÇÒ»¸ö³ÌÐòÉè¼Æʦ×Ô¶¨ÒåµÄ¸´ÊýÀࣺ

//C++ÖÐ×Ô¶¨ÒåµÄ¸´ÊýÀ༰0pemtor Overloading
class Complex{
public£º
Complex(double real,double image){
Real_number=real£»
Image_number=image£»
}
Complex operator+(Complex&rhs){
Return Complex(rhs£®real_number+real_number£¬
rhs£®image_number+image_£¬nulnbef)£»
}
private£º
doublereal_number //ʵ²¿
doublejmage_nunmber£» //Ð鲿
}



ÔÚÕâÀÈç¹ûÄãʹÓÃ+À´×÷Ϊ¸´ÊýµÄ¼Ó·¨·ûºÅ£¬´ó¼Ò¶¼²»»áÓÐÒÉÒ壬µ«ÊÇÈç¹ûÄãʹÓõÄÊÇ*»ò¡·ÕâÑùµÄ·ûºÅ£¬ÄÇô±ðÈË¿´µ½ÄãµÄ³ÌÐòÖ®ºó£¬Äѱ£²»»á²úÉúÈÏʶÉϵĴíÎó¡£ÕâÒ²ÊÇOperator OverloadingÒ»´óÎÊÌ⣬µ±´ó¼Ò¶¼¶ÔÔËËã·û¸³Óè×Ô¼ºµÄ¶¨Òåºó£¬Õû¸ö³ÌÐòµÄ¿É¶ÁÐԾͻá´óÊÜÓ°Ïì¡£Operator OverloadingµÄ´æÔÚ²¢²»ÊDZØÒªµÄ£¬ÎÒÃÇÒ»Ñù¿ÉÒÔ¶¨ÒåÀàÖеķ½·¨À´´ïµ½Í¬ÑùµÄÄ¿µÄ£¬ÖÁÓÚJavaÈ¥µôÕâÏÄܵÄÀû±×£¬¿ÖžÍÒª¶ÁÕß×Ô¼ºÈ¥ÆÀ¶ÏÁË¡£

7.È¡Ïû×Ô¶¯ÀàÐÍת»»

JavaÊÇÒ»¸öÑϸñ½øÐÐÀàÐͼì²éµÄ³ÌÐòÓïÑÔ£¬¶ÔÓÚÏÂÃæÕâÑùµÄ³ÌÐò£¬ÔÚC++µÄ±àÒëÆ÷ÉϱàÒëʱ×î¶àÖ»»á³öÏÖ¾¯¸æµÄÐÅÏ¢£¬µ«ÊÇÔÚJavaÀïÔò²»Óèͨ¹ý£º

Int aInteger£» Double aDouble=2.71828£» AInteger = aDouble£»


ËäÈ»ÕâÑùµÄתÐÍÔÚC++ÀïÊǺϷ¨µÄ£¬µ«ÊÇÒ²»áÔì³ÉÊý¾Ý¾«È·¶ÈµÄËðʧ¡£JavaΪÁËҪȷ¶¨Ð´³ÌÐòµÄÈ˳ä·ÖµØÁ˽âÕâµã£¬±ØÐëÒª³ÌÐòÉè¼ÆÇ¿ÖÆתÐÍ(type casting)£¬JavaµÄ±àÒëÆ÷²Å»á½ÓÊÜ£º

int aInteger£»
doublea Double=2.71828£»
aInteger=(int)aDouble£»


8.²»ÔÙÓÐÖ¸Õë

È¡ÏûÖ¸Õë(Pointer)ÕâÑùÊý¾ÝÀàÐÍ£¬¿ÉÄÜ»áÈÃÐí¶àÊìϤC++ÓïÑԵijÌÐòÉè¼Æʦ´ó³ÔÒ»¾ª¡£ÔÚC++ÓïÑÔÀÁé»îµØÔËÓÃÖ¸ÕëÊÇÐí¶à³ÌÐòÉè¼ÆʦµÄµÃÒâÖ®×÷£¬µ«ÊÇÕ¼Õû¸ö³ý´íʱ¼ä×î¾ÃµÄÒ²ÊÇÖ¸ÕëµÄÎÊÌâ¡£ÅäºÏÉÏC++¶ÔÄÚ´æ¹ÜÀíµÄ̬¶È£¬³ÌÐòÉè¼Æʦ±ØÐëÒª×Ô¼ºÈ¥×·×Ù×Ô¼ºÏòϵͳҪµ½µÄÄڴ棬×îºóȷʵµØ½»»¹¸øϵͳ£¬²¢ÇÒÔÚʹÓÃÖ¸Õëʱ£¬ÒªÐ¡ÐÄÒíÒíµØ×¢Òâ²»Òª¿ç¹ýºÏ·¨µÄ¼ÇÒä¿Õ¼ä£¬Ôì³ÉSegmentation Fault»òGeneral Protection FaultÖ®ÀàµÄÎÊÌâ¡£

JavaÈ¥µôÁËÖ¸ÕëÀàÐÍ£¬²¢²»±íʾ³ÌÐòÉè¼ÆʦÔÚ¿ª·¢¸ß¼¶Êý¾Ý½á¹¹£¬Ïñ¶ÑÕ»(stack)¡¢ ¶ÓÁÐ(queue)¡¢¶þÔªÊ÷(binarytree)ʱ£¬¶¼±ØÐëÒªÏñÔÚ´«Í³BasicÉÏ£¬ÀûÓôó·¶Î§µÄÊý×éÀ´×ÔÐÐÄ£ÄâϵͳÄڴ棬×ÔÐн¨¹¹ÀàËÆÖ¸ÕëµÄ±íʾ·½Ê½¡£

Ïà·´µØ£¬JavaÌṩÁ˺ÍLispÓïÑÔÖÐÏàËƵÄReferenceÀàÐÍ£¬Í¨¹ýReferenceÈ¥¶ÁÈ¡ÅäÖõ½µÄÄÚ´æÄÚÈÝ£¬¿ÉÒÔÈ·±£²»»áÈ¥¶ÁÈ¡µ½²»ÊôÓÚ×Ô¼ºµÄÄÚ´æ¿Õ¼ä£¬¶øÁíÒ»·½Ã棬³ÌÐòµÄÖ´ÐÐϵͳҲ¿ÉÒÔ¶¯Ì¬µØÈ¥×öÄÚ´æÀ¬»ø»ØÊյŤ×÷£¬½«Ã»Óб»reference²Î¿¼µ½µÄÄÚ´æ¿Õ¼ä»ØÊÕ¸øϵͳʹÓá£

9.ºÍC++Á¬½Ó

²»¹ÜJavaÊǶàôǿ´ó£¬×ÜÊÇÓÐÈËÐèÒª°ÑËüºÍC++Á¬½ÓÆðÀ´¡£ÒòΪֻҪÓÐÒ»¸öеijÌÐòÓïÑÔ»òÊÇÈí¼þ¿ª·¢¹¤¾ßÒ»³öÏÖ£¬´ó¼Ò¾Í»áÎÊ£º"ËüÊÇ·ñ¾ßÓкÍÔ­ÓгÌÐò¿âÁ¬½ÓµÄÄÜÁ¦ÄØ?"Ò²ÒòΪC++ÓïÑÔÔÚµçÄÔ½çÖÐÕ¼Á˺ÜÖØÒªµÄµØλ¡£´ó¼ÒµÄÎÊÌâÆäʵ¾ÍµÈÓÚÊÇÖ±½ÓÎÊ"ËüÊÇ·ñ¿ÉÒÔºÍC++Á¬½Ó?"¡£Ä¿Ç°ÔÚJavaÖУ¬µÄÈ·ÌṩÁ˺ÍC++ÓïÑÔÁ¬½ÓµÄ·½·¨£¬ËüµÄ×ö·¨»ù±¾ÉÏÊÇÏȽ«C++ÓïÑÔËùдµÄ³ÌÐò½¨¹¹³É¶¯Ì¬Á´½Óº¯Êý¿â(DynamicLinking Library£¬DLL)£¬ÔÙÓÉJava³ÌÐòÈ¥µ÷ÓÃDLLÀïµÄº¯Êý¡£

ÕâÖÖÁ¬½ÓµÄ·½Ê½£¬Ê¹µÃDLLÖеĺ¯Êý£¬´ÓJavaµÄÑ۹⿴¾ÍÊÇÒ»¸ö"·½·¨"¡£²»¹ýÒòΪÕâÖÖ·½·¨ÊÇÖ±½ÓÓÉÆäËûµÄ³ÌÐòÓïÑÔËùÌṩ£¬¶ø²»ÊÇÒÔJavaÓïÑÔËùдµÄ£¬ËùÒÔËü±»³Æ֮Ϊ"Ô­Éú·½·¨"(NativeMethod)¡£

ÓÉÓÚJava AppletһЩ°²È«ÉϵÄÏÞÖÆ£¬ËùÒÔÕâÖÖÁ¬½ÓÍⲿ³ÌÐòµÄ·½·¨Ö»ÄÜÓÃÔÚJava ApplicationÄÚ¡£

С½á£º

ÊÂʵÉÏ£¬constantºÍtypedefÕâÁ½ÌõÓï¾ä°üº¬ÁË#defineÓï¾äµÄ×÷Óá£ÏÖÔÚ£¬½á¹¹ºÍÁªºÏÒѾ­±»JavaµÄÀàËù´úÌ档ɾ³ýÕâЩÌØÐÔµÄÔ­ÒòÊÇ:ÓÉÓÚÆäÏ£Íûά³ÖÓëCÓïÑÔµÄÏòºó¼æÈÝÐÔ£¬C ++µÄÓïÑԹ淶°üº¬ÁË´óÁ¿ÈßÓà¡£±ÈÈ磬Ààʵ¼ÊÉϾÍÒѾ­°üÀ¨Á˽ṹºÍÁªºÏµÄ×÷Óã¬Òò´ËÕâÁ½ÖÖÊý¾Ý½á¹¹ÍêÈ«¿ÉÒÔÈ¡Ïû¡£¹ØÓÚ#defineÓï¾ä£¬JavaÓïÑԹ淶µÄÖƶ©ÕßÈÏΪ:¾¡¹Ü¸ÃÓï¾äµÄ³ö·¢µãÊÇΪÁËÔöÇ¿³ÌÐòµÄ¿É¶ÁÐÔ£¬µ«Êµ¼ÊЧ¹ûÈ´Ç¡Ç¡Ïà·´£¬Ëü³£³£µ¼ÖÂÄѶÁµÄ´úÂ룬¹ÊÓ¦¸ÃÓèÒÔÈ¡Ïû¡£Java²»ÔÙÖ§³Ö¶ÀÁ¢º¯Êý£¬Òò´ËÈκκ¯Êý¶¼±ØÐë·â×°µ½Ä³¸öÀàÖС£ÓÉÓÚÈËÃÇÆÕ±éÈÏΪ£¬ C++ËùÓõij¬ÀàÊǷdz£²»Îȶ¨µÄ£¬Òò´ËJavaÅ×ÆúÁËC++ÖеĶà¼Ì³Ð²¢´úÖ®ÒÔ½Ó¿Ú¡£JavaµÄ½Ó¿ÚÖ¸µÄÊÇ£¬ÔÚ±ðµÄÀà¿´À´Ò»¸öÀàËùÄÜʵÏֵķ½·¨¡£ËüËùÏÔʾµÄÖ»ÊÇÒ»¸öÀàµÄ·½·¨»ò³£Á¿ºÍ±äÁ¿ £¬¶ø²»ÊÇÕâ¸öÀàµÄÈ«²¿½á¹¹¡£

×îºó£¬Java»¹È¡ÏûÁËC++ÖеÄGOTOÓï¾ä¡¢²Ù×÷·ûÖØÔØ¡¢×Ô¶¯ÀàÐÍת»»¼°Ö¸ÕëÊý¾ÝÀàÐÍ¡£ GOTOÓï¾äÒýÆðµÄÕùÒéÒѾ­ÓкܶàÄêÁË£¬¿ÉÒ»Ö±Òõ»ê²»É¢£¬Õâ¸úijЩ³ÌÐòÔ±¶Ô¸ÃÓï¾äÒ»Ö±ÇéÓжÀÖÓÓйء£C++ÈÔȻ֧³ÖÊý¾ÝÀàÐ͵Ä×Ô¶¯×ª»»£¬µ«JavaÒªÇó±à³ÌÈËÔ±ÏÔʽʵÏÖÊý¾ÝÀàÐÍÖ®¼äµÄת»»¡£×Ô¶¯Êý¾ÝÀàÐÍת»»Ê¹µÃÁ½¸öÊý¾ÝÀàÐÍ»¥²»¼æÈݵıäÁ¿¿ÉÒÔÏ໥¸³Öµ£¬¶ø²»ÐèÒª¸ø³öÏÔʽ˵Ã÷¡£ÕâÓÐʱ»áµ¼ÖÂһЩÎÊÌ⣬ÆäÖÐ×î³£¼ûµÄÊǾ«È·¶ÈËðʧ¡£±È·½Ëµ£¬Èç¹û°ÑÒ»¸ö´ø·ûºÅµÄ32λÕûÊý¸³¸øÒ»¸öÎÞ·ûºÅÕûÊý£¬ÔòËùÓеĽá¹û¾ùΪÕýÊý¡£JavaµÄÉè¼ÆÕßÃÇÈÏΪÕâºÜÈÝÒ×ÒýÆð³ÌÐò´íÎ󣬴Ӷø¾ö¶¨²»Ö§³ÖÕâÖÖת»»·½Ê½¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. lgcHR ÓÚ 2011-07-13 19:01:29·¢±í:

    ÕâÊÇһƪ²»´íµÄÌû×Ó£¬Ó¦¸ÃѧϰÏ£¬ÐèҪ˵Ã÷µÄÊÇÖ¸ÕëÕⶫÎ÷Ö»ÊÇÒþ²ØÆðÀ´ÁË£¬ÔÚJAVAÖв¢Ã»ÓÐÏûʧ£¬Ö»ÊDz»ÐèÒª³ÌÐòÔ±¹ØÐĶøÒÑ¡£