¡¡¡¡Õ⼸Ìì¶Á¡¶C++±à³Ì˼Ï롷ʱÅöµ½½²½â¾²Ì¬³õʼ»¯µÄÏàÒÀÐÔ£¬¸Ð¾õÊ®·Ö»Þɬ¡£ÓÚÊÇ£¬×Ô¼º×ܽáÁËһϣ¬ÒÔÀíÇå˼·¡£
¡¡¡¡Ò»¡¢ÎÊÌâ³öÔÚÄÄÀ
¡¡¡¡ÔÚдһ¸ö¹¤³ÌµÄʱºò£¬Èç¹ûÒ»¸ö¾²Ì¬±äÁ¿µÄ³õʼ»¯ÒÀÀµÓÚÁíÒ»¸ö¾²Ì¬±äÁ¿£¬ÄÇôËûÃǵÄ˳ÐòÊǺÜÖØÒªµÄ¡£»ù±¾µÄ±äÁ¿ÐèÒªÊ×ÏÈÉùÃ÷¡£È»¶ø£¬µ±ÎÒÃÇдµÄ³ÌÐòÐèÒªÕâÑù×Ó×öµ«ÊÇÓÖ±ØÐ뽫Ï໥ÒÀÀµµÄ¾²Ì¬¶ÔÏó·Åµ½²»Í¬µÄÎļþÖÐʱ£¬ÄÇôËüÃdzõʼ»¯µÄ˳Ðò¾Í½»¸øÁËÁ¬½ÓÆ÷¡£ÕâÊÇÒ»¸öÎÞ·¨ÕƿصĹý³Ì£¬»áʹ³õʼ»¯³öÏÖÎÊÌâ¡£
¡¡¡¡¿´ÏÂÃæÕâ¸öÀý×Ó¡£baseÊÇÒ»¸ö»ù±¾µÄÀà¡£¶øextendÀàÓÐÒ»¸öbaseÀàÐ͵ÄÈ«¾ÖʵÀýµÄ³ÉÔ±¡£Èç¹û½«Á½¸öÀà·ÅÈëÁ½¸öÍ·ÎļþÖУ¬ÄÇô×îºóÒýÈëµÄ½á¹û¾ÍÊÇ£ºÔÚº¬ÓÐmainº¯ÊýµÄÎļþÖв»»á³öÏÖbaseʵÀý»¯µÄÓï¾ä¡£¾ßÌåbaseʵÀý»¯ÔÚÄÄÀï·¢ÉúÒª¿¿Á¬½ÓÆ÷ÁË¡£´íÎóµÄ˳Ðòµ¹ÊÇbaseûÓÐÕýÈ·µÄ³õʼ»¯¡£ÒÔϳÌÐòÄ£Äâ´íÎó·¢ÉúµÄ¹ý³Ì£º
¡¡¡¡#include <iostream>
¡¡¡¡using namespace std;
¡¡¡¡class base
¡¡¡¡{
¡¡¡¡bool init;
¡¡¡¡public:
¡¡¡¡base£¨£© : init£¨true£© { }
¡¡¡¡void print£¨£© const
¡¡¡¡{
¡¡¡¡cout ¡¶ "Base init: " ¡¶ init ¡¶ endl;
¡¡¡¡} };
¡¡¡¡class extend {
¡¡¡¡base mem;
¡¡¡¡public:
¡¡¡¡extend£¨const base &h£© : mem£¨h£© {
¡¡¡¡cout ¡¶ "extend's constructor: " ¡¶ endl;
¡¡¡¡print£¨£©£»
¡¡¡¡}
¡¡¡¡void print£¨£© const
¡¡¡¡{
¡¡¡¡mem.print£¨£©£»
¡¡¡¡} };
¡¡¡¡extern base base1;
¡¡¡¡extend extend1£¨base1£©£»
¡¡¡¡base base1;
¡¡¡¡extern base base2;
¡¡¡¡base base2;
¡¡¡¡extend extend2£¨base2£©£»
¡¡¡¡int main£¨£©
¡¡¡¡{
¡¡¡¡return 0;
¡¡¡¡}
¡¡¡¡¶þ¡¢½â¾öµÄ°ì·¨
¡¡¡¡Ò»ÖֱȽÏÖ±¹ÛµÄ½â¾ö°ì·¨£º
¡¡¡¡½«ÀàÐ͵ÄʵÀý»¯·â×°ÔÚº¯ÊýÄÚ¡£º¯ÊýÖ»ÊÇ´´½¨Ò»¸ö¾²Ì¬ÊµÀý£¬¸ÃʵÀýÖ»ÔÚº¯ÊýÖпɼû£¬·µ»Ø¸Ã¾²Ì¬ÊµÀýµÄÒýÓᣴӶø´ïµ½´´½¨µÄÄ¿µÄ¡£µÚÒ»´Îµ÷Óú¯Êýʱ£¬¾²Ì¬ÊµÀý±»ÕýÈ·³õʼ»¯£¬ÒÔºóµ÷Ó㬻áÖ¸Ïòͬһ¸ö¾²Ì¬ÊµÀý£¬²»»á´´½¨Ðµľ²Ì¬ÊµÀý£¬´Ó¶ø´ïµ½ÀàËÆÈ«¾Ö±äÁ¿µÄÄ¿µÄ¡£