Ò»¸ö¼ÆËãÖÐÉæ¼°µ½µÄÎÊÌâ
ÔÚ¼ÆËãÖÐ(½âƫ΢·Ö·½³Ì)ÍùÍùÒª¿¼ÂDZ߽çÌõ¼þ,¶ø±ß½çÉϵÄÖµÍùÍùÈ¡¸úijЩµãµÄÖµ±ä»¯Ò»Ñù. ¶ÔÓÚ¿Õ¼äÉÏijһµã, ÎÒÉè¼ÆÁËÏÂÁнṹ[CODE]
typedef <class T>
struct Point
{
T u;
T v;
}
[/CODE]
ΪÁË¿ÉÒÔÔÚ³ÌÐòÔËÐÐÊ±Çø±ðÆÕͨµãºÍ±ß½çµã, ÎÒÓּ̳ÐÁËPoint
[CODE]
typedef <class T>
struct BPoint:Point<T>
{
}
[/CODE]
ÕâÑù¾ÍµÃµ½Á½ÖÖµãÁË. µ«ÊÇ, ÔÚ¼ÆËãʱҪ´¦Àí±ß½çÌõ¼þ, ÀýÈç, ÿ¼ÆËãÒ»²½¶¼Òª½«±ß½çµãÉϵÄÖµÓÃËüµÄÁÚ½üµãµÄÖµÀ´¸³Öµ£¬ Èç¹ûÎÊÌâ¹æÄ£´ó£¬ÕâÑùÒ²ÊǺܺÄʱµÄ¡£ÎÒÏëÄÜ·ñ°ÑBPointÖеıäÁ¿ÉèΪָÕ룬²¢Ö¸Ïòij¸öÁÚ½üµã£¬ÕâÑù¾Í²»ÓÃÿ´ÎÈ¥¸üÐÂËüÁË¡£
[CODE]
typedef <class T>
struct BPoint:Point<T*>
{
}
[/CODE]
ÉÏÊöµÄ´úÂëÊǺϷ¨µÄ£¬ÎÒ¿ÉÒÔÔ¤ÏȽ«ËùÓÐBPointÖÐÏàÓ¦µÄu, vÖ¸ÏòÊʵ±µÄµØ·½¡£µ«ÊÇÕâÑù¸Ä±äÒÔºó£¬ÎÒÒªÒýÓÃBPointÖеÄֵʱ¾Í²»ÄÜÓÃ"."²Ù×÷·ûÁË£¬ÕâÑùÓÖÆÆ»µÁËËã·¨µÄÒ»ÖÂÐÔ¡£ÓÐûÓа취¿ÉÒÔ¼ÈʹBPointÖ¸Ïòij¸öµã£¬Í¬Ê±ÓÖ¿ÉÒÔ¼ÌÐøÊ¹ÓÃ"."À´×÷Êý¾ÝÒýÓã¿ÀýÈç
[CODE]
Point<int> p;
BPoint<int> bp;
p.u = 100; p.v=200;
// ÕâÀï bp.u Ö¸Ïò p.u , bp.v Ö¸Ïòp.v£¬ ¼´bp.u=100, bp.v=200
// µ«ÒªÒýÓÃbpÖеÄÖµ£¬ Ö»ÄÜд×÷*bp.u, *bp.v£¬ ÄÜ·ñÓÃbp.uºÍbp.vÀ´ÒýÀ´£¿
[/CODE] ÕâÖÖ¶«Î÷Óõĵ½Ä£°åô? ¿´¿´ÄãÄܲ»ÄÜÖØÔØÔËËã·û . :)
²»¹ý×îºÃ»¹ÊDz»ÒªÓÃÕâÖÖ±í´ï·½Ê½£¬ÕâÑùµÄ´úÂ뼸ºõÎÞ·¨ÔĶÁ
¿¼ÂÇһϿÉÒÔÓà union µÄ·½Ê½Âð£¿
Ò³:
[1]