C++µÄ×î´óÁÁµãÖ®Ò»£¬¾ÍÊÇËüÒýÈëÁËÃæÏò¹¤¾ß±à³Ì£¨OOP£©µÄ¿´·¨¡£OOPÊÇÒ»ÖÖ½«³ÌÐòÉè¼ÆÁýͳΪʵÌåµÄÒªÁ죬ʹµÃ´úÂëÔ½·¢Ä£¿é»¯¡¢¿Éά»¤ºÍ¿ÉÀ©Õ¹¡£Í¨¹ýÀàºÍ¹¤¾ßµÄ¿´·¨£¬³ÌÐòÔ±¿ÉÒÔ´´Á¢×Ô½ç˵µÄÊý¾ÝÀàÐÍ£¬²¢?ͨ¹ý¼ÌÐøºÍ¶à̬ÐÔ£¬ÊµÏÖ´úÂëµÄÖØÓú͸´Óá£
ÕâÖÖÃæÏò¹¤¾ßµÄ±à³ÌÄ£ÐÍ£¬ÎªÈí¼þ¿ª·¢´øÀ´Á˸ïÃüÐԵıä¸ï¡£ÅÓ´óµÄ?ϵͳ¿ÉÒÔ±»ÆÊÎöΪ¸üСµÄ¡¢¿ÉÖÎÀíµÄ¹¤¾ß£¬Õâ´ó´ó¼ò»¯ÁËÈí¼þÉè¼ÆºÍ¿ª·¢Àú³Ì¡£C++µÄÕâÒ»ÌØÐÔ£¬Ê¹µÃËüÔÚϵͳ±à³Ì?¡¢Í¼ÐνçÃæ¡¢ÓÎÏ·¿ª·¢µÈÁìÓò»ñµÃÁ˹㷺ӦÓá£
ÔÚÅÌËã»ú¿ÆÑ§µÄÂþ³¤ÀúÊ·ÖУ¬C++µÄ½µÉúÎÞÒÉÊÇÒ»¶Î¿çԽʱ¿ÕµÄÊ·Ê«¡£Õâһΰ´óµÄ±à³ÌÓïÑÔ²»µ«¸Ä±äÁËÈí¼þ¿ª·¢µÄ·½·¨£¬»¹¶ÔÏÖ´úÅÌËã»ú¿ÆÑ§±¬·¢ÁËÉîÔ¶µÄÓ°Ïì¡£C++µÄ?ÆðÔ´¿ÉÒÔ×·Ëݵ½20ÊÀ¼Í80Äê´ú£¬µ«ÒªÀí½âËüµÄÉñÃØÆðÔ´£¬ÎÒÃDZØÐë»Øµ½ËüµÄ½µÉúÅä¾°¡£
C++µÄÊ×´´ÈËBjarneStroustrup£¬ÊÇһλӵÓÐ׿Խ²ÅÖǵÄÅÌËã»ú¿ÆÑ§¼Ò¡£ËûÔÚ1979Ä꿪ʼÔÚÆÕÁÖ˹¶Ù´óѧµÄÅÌËã»ú¿ÆÑ§Ïµ½øÐÐÕâÒ»¸ïÃüÐÔµÄÊÂÇé¡£Æäʱ£¬CÓïÑÔÒѾÔÚÅÌËã»úÁìÓò»ñµÃÁ˹㷺µÄÓ¦Ó㬵«ËüÔÚÅÓ´óϵͳµÄ¿ª·¢ºÍά»¤·½Ãæ±£´æÒ»Ð©¾ÖÏÞ¡£
BjarneStroustrupÒâʶµ½£¬ÐèÒªÒ»ÖÖ¸ü¸ß¼¶µÄ±à³ÌÓïÑÔÀ´Ó¦¶ÔÕâЩÌôÕ½£¬ÓÚÊÇËû¿ªÊ¼×ÅÊÖÉè¼ÆCwithClasses£¬ÕâØÊºóÑݱäΪC++¡£
1985Ä꣬C++µÄµÚÒ»°æ?ÕýʽÐû²¼?¡£StroustrupÔÚÕâÒ»°æ±¾ÖУ¬½øÒ»²½?ÍêÉÆÁËÓïÑÔµÄÉè¼Æ£¬²¢?Ôö¼ÓÁËһЩеÄÌØÐÔ£¬ÈçÔËËã·ûÖØÔØ£¨operatoroverloading£©ºÍÄ£°å£¨template£©µÈ¡£ÕâЩÐÂÌØÐÔ£¬Ê¹µÃC++²»µ«ÔÚϵͳ±à³Ì·½ÃæÌåÏÖ¾«²Ê£¬»¹ÔÚÓ¦Óÿª·¢ÖÐÕ¹ÏÖ³ö?Ç¿´óµÄ¹¦Ð§¡£
C++µÄ½µÉúʵ¼ÊÉÏÊǶÔCÓïÑÔµÄÀ©Õ¹ºÍÔöÇ¿¡£ÔÚ1980Äê´úÔçÆÚ£¬BjarneStroustrupÔÚ±´¶ûʵÑéÊÒ¼ÌÐø¶ÔCÓïÑÔ½øÐиïУ¬Ï£ÍûÄܹ»Ìí¼ÓÃæÏò¹¤¾ß±à³ÌµÄÌØÐÔ£¬Í¬Ê±½â¾öCÓïÑÔÔÚ´óÐÍÈí¼þ¿ª·¢ÖеľÖÏÞÐÔ¡£ÓÚÊÇ£¬C++Ó¦Ô˶øÉú¡£Õâ¸öеıà³ÌÓïÑÔ²»µ«±£´æÁËCÓïÑÔµÄµ×²ã¿ØÖÆÄÜÁ¦£¬»¹ÒýÈëÁËÃæÏò¹¤¾ßµÄ±à³Ì˼Ï룬ʹÆäÔÚ´óÐÍÈí¼þ¿ª·¢ÖÐÔ½·¢Áé»îºÍ¸ßЧ¡£
C++µÄ½µÉú¿ÉÒÔ×·Ëݵ½1979Ä꣬Æäʱ±´¶ûʵÑéÊҵIJ¼ÀÆæ¡¤Ë¹ÌØÀ¼£¨BjarneStroustrup£©¿ªÊ¼×ÅÊÖ¿ª·¢Õâһеıà³ÌÓïÑÔ¡£Ë¹ÌØÀ¼µÄÄ¿±êÊǽ«ÃæÏò¹¤¾ß±à³ÌµÄÓŵãÈÚÈëCÓïÑÔ£¬Ê¹µÃ±à³Ì?Ô½·¢¸ßЧºÍÖ±¹Û¡£ËûµÄÉè¼ÆÀíÄîÊÇ´´Á¢Ò»ÖÖ¼ÈÄÜ´¦Àí³õ¼¶Ó²¼þ²Ù×÷£¬ÓÖÄÜÖ§³Ö¸ß¼¶ÁýͳµÄ±à?³ÌÓïÑÔ¡£
C++µÄ¹ÊÊÂʼÓÚ20ÊÀ¼Í80Äê´ú£¬ÄÇʱBjarneStroustrupÔÚ±´¶ûʵÑéÊÒÊÂÇ飬ËûµÄÄ¿±êÊÇ´´Á¢Ò»ÖÖÄܹ»¸üºÃµØÖ§³ÖÈí¼þ¹¤³Ìʵ¼ùµÄ±à³ÌÓïÑÔ¡£Stroustrup¶ÔÆäʱÖ÷ҪʹÓõÄCÓïÑÔ³äÂúÁËÈÈÇ飬µ«ËûÒ²Òâʶµ½£¬CÓïÑÔÔÚijЩ·½Ãæ±£´æ²»?×ã¡£ÓÚÊÇ£¬Ëû¿ªÊ¼×ÅÊÖÉè¼ÆÒ»ÖÖÄܹ»ÔÚ±£´æCÓïÑÔÓŵãµÄ»ù´¡ÉÏ£¬Ôö¼ÓÃæÏò¹¤¾ß±à³ÌÌØÐÔµÄÐÂÓïÑÔ¡£
StroustrupµÄÃÎÏëÔÚ1983ÄêµÃÒÔʵÏÖ£¬Ëû½«ÕâÖÖÐÂÓïÑÔÃüÃûΪ¡°CwithClasses¡±£¬ØÊºó¼ò»¯ÎªC++¡£Õâ¸öÃû×Ö²»¿ÉÊǶÔCµÄÑÓÉ죬¸üÏóÕ÷׎ø²½ºÍÔöÇ¿¡£ÔÚ½ÓÏÂÀ´µÄ¼¸ÄêÀStroustrup²»¾øÍêÉÆÕâÖÖÐÂÓïÑÔ£¬×îÖÕÔÚ1985ÄêÐû²¼Á˵ÚÒ»°æC++¡£
Ëæ×ſƼ¼µÄ²»¾ø½ø²½£¬C++Ò²ÔÚ²»¾øÏòǰÉú³¤¡£Î´À´£¬C++¿ÉÄÜ»áÔÚÈ˹¤ÖÇÄÜ¡¢´óÊý¾Ý¡¢ÎïÁªÍøµÈÁìÓò·¢»Ó¸ü´óµÄ×÷Óá£Ðµıê×¼ºÍÌØÐÔ½«²»¾øÍƳö£¬Îª¿ª·¢ÕßÌṩ¸ü¶àµÄ¹¤¾ßºÍÊÖ¶ÎÀ´Ó¦¶ÔÅÓ´óµÄÅÌËãÐèÇó¡£
C++µÄ½µÉúºÍÉú³¤£¬ÊÇÒ»¶Î¿çԽʱ¿ÕµÄÊ·Ê«¡£´ÓÆä¼ò½à¸ßЧµÄǰÉíCÓïÑÔ£¬µ½ÏÖ´ú»¯µÄÃæÏò¹¤¾ß±à³Ì?ÓïÑÔ£¬ÔÙµ½²»¾øÑݽøµÄ±ê×¼ºÍÌØÐÔ£¬C++ÎÞÒÉÔÚÅÌËã»ú¿ÆÑ§µÄÉú³¤ÖÐÊÎÑÝÁËÖØÒª½ÇÉ«¡£Ëü²»µ«Ó°ÏìÁËÈí¼þ¿ª·¢µÄ·½·¨£¬¸üÍÆ¶¯ÁËÕû¸ö¿Æ¼¼ÐÐÒµµÄ½ø²½¡£Í¨¹ýÁ˽âC++µÄÀúÊ·ºÍÉú³¤£¬ÎÒÃÇ¿ÉÒÔ¸üºÃµØÓß½âÆäÔÚÏÖ´ú¿Æ¼¼ÖеÄÖØÒªÖ°Î»£¬²¢ÎªÎ´À´µÄ¼¼Êõ´´?ÐÂÌṩÓÐÁ¦Ö§³Ö¡£
ΪÁËʵÏÖÕâһĿ±ê£¬Stroustrup¿ªÊ¼ÔÚCÓïÑԵĻù´¡ÉϽøÐÐÀ©Õ¹ºÍ¸ïС£ËûÒýÈëÁËÀࣨclass£©ºÍ¹¤¾ß£¨object£©µÄ¿´·¨£¬Ê¹µÃC++Äܹ»¸üºÃµØÖ§³ÖÃæÏò¹¤¾ß±à³Ì¡£ÕâЩÐÂÌØÐÔ²»µ«Ìá¸ßÁË´úÂëµÄ¿Éά»¤ÐԺͿÉÀ©Õ¹ÐÔ£¬»¹Ê¹µÃÅÓ´óϵͳµÄ?¿ª·¢±äµÃÔ½·¢Ö±¹ÛºÍ¸ßЧ¡£
Stroustrup»¹ÒýÈëÁËÐ麯Êý£¨virtualfunction£©ºÍ¼ÌÐø£¨inheritance£©µÈ¿´·¨£¬Ê¹µÃC++¾ß±¸?Á˶à̬ÐÔ¡£ÕâÐ©ÌØÐÔʹµÃ´úÂë¿ÉÒÔÔ½·¢Áé»îµØ½øÐÐÖØÓúÍÀ©Õ¹£¬ÎªÈí¼þ¿ª·¢´øÀ´Á˸ïÃüÐԵıä¸ï¡£