ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

C++Ðé»ùÀà½â¾ö¶þÒåÐÔÎÊÌâ¼°Ö´Ðнá¹û·ÖÎö
2014-11-24 07:34:53 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:1´Î
Tags£º½â¾ö ÎÊÌâ Ö´ÐÐ ½á¹û ·ÖÎö

ÓÉÓÚC++ÖÐÔÊÐí¶à¼Ì³Ð£¬ËùÒÔ»á³öÏÖ¶þÒåÐÔÎÊÌ⣺ÔÚ¶à¸öÅÉÉúÀàÖУ¬¶¨ÒåÁËÏàͬÃû×ֵķ½·¨£¬ÕâʱÔÙÔÚmainº¯ÊýÀïÃæÍ¨¹ý»ùÀàµ÷Óø÷½·¨Ê±£¬±àÒëÆ÷¾Í·¸ÄÑÁË¡£ÒòΪËü²»ÖªµÀÄãµ½µ×ÊÇÏëÓÃÄÄÒ»¸öÅÉÉúÀàÀïÃæµÄ·½·¨¡£


ÄÇô£¬ÏÖÔÚÓÖÓÐÁËÒ»¸öÎÊÌ⣺¼ÙÈçÓÐÁ½¸öÅÉÉúÀàDerivedAºÍDerivedB£¬ËüÃǵÄͬÃû·½·¨Ò»¸öÓвÎÊý£¬Ò»¸öûÓвÎÊý£¬ÊDz»ÊDz»»á³öÏÖ¶þÒåÐÔÎÊÌâÁË£¿


»òÕß˵£¬ÕâÁ½¸öÅÉÉúÀà·½·¨µÄÒ»¸öÊÇprivate£¬Ò»¸öÊÇpublic£¬ÊDz»ÊǾͿÉÒÔ·ÀÖ¹¶þÒåÐÔÁËÄØ£¿


´ð°¸ÊÇ·ñ¶¨µÄ¡£¶þÒåÐԵļì²éÓ¦ÔÚ·ÃÎÊ¿ØÖÆÈ¨ÏÞ»òÕßÀàÐͼì²é֮ǰ½øÐУ¬Òò´Ë·ÃÎÊ¿ØÖÆÈ¨ÏÞ²»Í¬»òÀàÐͲ»Í¬²»Äܽâ¾ö¶þÒåÐÔÎÊÌâ¡£


¼ÈÈ»ÉÏÊöÌá³öµÄ¼ÙÉè³ÉÁ¢£¬ÄÇôӦ¸ÃÔõÑùÈ¥ÓÐЧµÄ½â¾ö¶þÒåÐÔÎÊÌâÄØ£¿


Ðé»ùÀà¾ÍÊÇΪÁËÕâ¸ö½â¾öÕâÖÖ¶þÒåÐÔÎÊÌâÌá³öÀ´µÄ¡£


¶þÒåÐÔ²úÉúµÄ×îÖ÷ÒªÔ­ÒòÊÇ£º»ùÀàÔÚÅÉÉúÀàÖвúÉúÁËÁ½¸ö×Ó¶ÔÏ󣬴Ӷøµ¼ÖÂÁ˶ԻùÀà³ÉÔ±·ÃÎʵIJ»Î¨Ò»ÐÔ¡£ËùÒÔÖ»ÐèҪʹ¹«¹²»ùÀàÖ»²úÉúÒ»¸ö×Ó¶ÔÏ󣬾ͿÉÒÔÁË¡£


Ò²¾ÍÊÇ˵£¬±£Ö¤Ðé»ùÀ๹Ô캯ÊýÖ»±»µ÷ÓÃÒ»´Î¼´¿É¡£Ðé»ùÀà×Ô¶ÔÏóÊÇÓÉ×îÅÉÉúÀàµÄ¹¹Ô캯Êýͨ¹ýµ÷ÓÃÐé»ùÀàµÄ¹¹Ô캯ÊýʵÏÖ£¬´Ëʱ£¬×îÅÉÉúÀàµÄËùÓлùÀàÖÐÁгöµÄ¶ÔÐé»ùÀàµÄ¹¹Ô캯ÊýµÄµ÷ÓÃÔÚÖ´Ðйý³ÌÖж¼½«±»ºöÂÔ£¬¶ø´Ó±£Ö¤¶ÔÐé»ùÀà×Ô¶ÔÏóÖµ³õʼ»¯Ò»´Î¡£Í¬Ê±£¬×îÅÉÉúÀàµÄ³õʼ»¯ÁÐ±í±ØÐëÁгö¶ÔÐé»ùÀ๹Ô캯ÊýµÄµ÷Óã»Èç¹ûδÁгö£¬Ôò±íʾʹÓøÃÐé»ùÀàµÄĬÈϹ¹Ô캯Êý¡£


£¨Ôڼ̳нṹµÄ²ã´ÎÖУ¬½¨Á¢µÄ¶ÔÏóÊôÓÚÕâ¸ö½á¹¹ÖмäµÄij¸öÀ࣬½¨Á¢¶ÔÏóʱËùÖÆ¶¨µÄÀà¾ÍÊÇ×îÅÉÉúÀࣩ


ÏÂÃæÍ¨¹ýÒ»¸öСÀý×Ó·ÖÎöһϣº


#include
using namespace std;
//»ùÀà
class Base
{
//¹«ÓгÉÔ±
public:
Base(char i)
{
cout << "Base's cons." << i<< endl;
}
~Base()
{
cout << "Base's des." << endl;
}
};
//ÅÉÉúÀà1
class Derivedl1:virtual public Base
{
//¹«ÓгÉÔ±
public:
Derivedl1(char i,char j):Base(i)
{
cout << "Derivedl1's cons." << j<< endl;
}
~Derivedl1()
{
cout << "Derived's des." << endl;
}
//˽ÓгÉÔ±
private:
char b;
};
//ÅÉÉúÀà2
class Derivedl2:virtual public Base
{
//¹«ÓгÉÔ±
public:
Derivedl2(char i,char j):Base(i)
{
cout << "Derivedl2' cons." << j < }
~Derivedl2()
{
cout << "Derived12' des." << endl;
}
};
//¼Ì³Ð»ùÀàBaseµÄÅÉÉúÀà
class Derived2: public Derivedl1,public Derivedl2
{
//¹«ÓгÉÔ±
public :
Derived2(char i,char j,char k,char l,char m,char n)
:Derivedl2(k,l),Derivedl1(i,j),Base(i),aa(m)
{
cout << "Derived2's cons." < }
~Derived2()
{
cout << "Derived2's des." << endl;
}
//˽ÓгÉÔ±
private :
Base aa;
};
//mainº¯Êý
int main()
{
Derived2 obj('a','b','c','d','e','f');
return 0;
}


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºC++ Ð麯ÊýÓë´¿Ð麯Êý ÏÂһƪ£ºLinux IICÇý¶¯³ÌÐò

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)