| ²é¿´: 585 | »Ø¸´: 4 | |||
lixy1217ľ³æ (ÖøÃûдÊÖ)
|
[ÇóÖú]
¹ØÓÚC++ÀàÄ£°åµÄÎÊÌâ ÒÑÓÐ2È˲ÎÓë
|
|
Èç¹ûÎÒ¶¨ÒåÁËÒ»¸öÀàÄ£°å A<type>£¬ ÄÇô»á³öÏÖÒ»¸öÎÊÌ⣬¾ÍÊÇA<double> ²»Äܵ÷ÓÃA<int>ÀïµÄ˽ÓбäÁ¿ µ±È»¿ÉÒÔ¶¨ÒåÒ»¸öfriend A<double>£¬¾Í¿ÉÒÔÁË µ«ÎÊÌâÊÇ£¬ÎÒÏ£ÍûËùÓÐÀàÐ굀 A Ä£°å¶¼¿ÉÒÔµ÷ÓÃÈÎºÎÆäËüÀàÐÍ A Ä£°åµÄ˽ÓбäÁ¿£¬ÇëÎÊÕâÒ»µãÄÜ×öµ½Â𣿠|
» ²ÂÄãϲ»¶
Ò»Ö¾Ô¸0817»¯Ñ§¹¤³ÌÓë¼¼Êõ£¬Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
271·ÖÇóµ÷¼ÁѧУ
ÒѾÓÐ3È˻ظ´
285Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
ÉúÎïѧ308·ÖÇóµ÷¼Á£¨Ò»Ö¾Ô¸»ª¶«Ê¦´ó£©
ÒѾÓÐ7È˻ظ´
296²ÄÁÏר˶Çóµ÷¼Á
ÒѾÓÐ18È˻ظ´
²ÄÁÏÓ뻯¹¤306·ÖÕÒµ÷¼Á
ÒѾÓÐ18È˻ظ´
302Çóµ÷¼Á
ÒѾÓÐ9È˻ظ´
Ò»Ö¾Ô¸±±¾©¿Æ¼¼´óѧ²ÄÁϹ¤³Ì085601£¬Çóµ÷¼Á
ÒѾÓÐ11È˻ظ´
283·Ö²ÄÁÏÓ뻯¹¤Çóµ÷¼Á
ÒѾÓÐ19È˻ظ´
326Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
JAVA ºÍC++µÄ²¿·ÖÇø±ð
ÒѾÓÐ2È˻ظ´
¡¾×ªÌû¡¿WindowsϱàдQt²å¼þ
ÒѾÓÐ0È˻ظ´
¡¾·ÖÏí¡¿Êý¾Ý½á¹¹Ëã·¨ÓëÓ¦Óà C++ÓïÑÔÃèÊö
ÒѾÓÐ9È˻ظ´

baghnac
½ð³æ (СÓÐÃûÆø)
- Ó¦Öú: 14 (СѧÉú)
- ½ð±Ò: 1706.4
- ºì»¨: 6
- Ìû×Ó: 177
- ÔÚÏß: 44Сʱ
- ³æºÅ: 1365578
- ×¢²á: 2011-08-11
- ÐÔ±ð: GG
- רҵ: ÓîÖæÑ§
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
|
´ÓÄ£°åº¯Êý·ÖÎö£¬Ë½ÓбäÁ¿ÓУº 1. ¾Ö²¿±äÁ¿ 2. ¾²Ì¬±äÁ¿ ¾Ö²¿±äÁ¿£º ¾Ö²¿±äÁ¿ÊÇÔËÐÐʱÔÚ¶ÑÕ»ÀïµÄ£¬Ã¿´ÎÔËÐж¼²»Ò»¶¨Ò»Ñù Ò²¾ÍÊÇ˵¿ÉÄÜ»áͬʱÔËÐÐÁ½¸öA<int>£¬¶øÀïÃæµÄ¾Ö²¿±äÁ¿Öµ²»Ò»Ñù£¬ÕâÓëtypeÎÞ¹Ø ¾²Ì¬±äÁ¿£º ´ÓÏÖÏóÀ´¿´£¬ÓÉÓÚ²»Í¬ÀàÐÍʵ¼ÊÉÏÊDz»Í¬º¯ÊýÇ©ÃûµÄº¯Êý£¬ËùÒÔ²»Í¬º¯ÊýÀïµÄ¾²Ì¬±äÁ¿ÊǶÀÁ¢µÄ£¬²»ÄÜ»¥Ïà·ÃÎÊ ³ý·Ç¸Ä³ÉÈ«¾ÖµÄ ------------------------------------------------------------------------- Ä£°åÀàÐÍÒÔÉÏÀàËÆ£¬¸Ð¾õÒ²ÊÇÉú³ÉÁ½¸ö²»Í¬µÄʵÀý£¬ËùÒÔÆä˽ÓбäÁ¿ÊDz»ÄÜÏ໥·ÃÎʵ쬷ñÔò¾Í²»ÊÇ˽ÓбäÁ¿ÁË |

2Â¥2016-02-06 09:26:43
¼¸ÂÞÐÇÈË
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 58.3
- Ìû×Ó: 24
- ÔÚÏß: 4.4Сʱ
- ³æºÅ: 2295462
- ×¢²á: 2013-02-23
- רҵ: ¼ÆËã»úÈí¼þ
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
|
ʹÓÃtemplate<class Typ> friend class A;µÄÓï·¨¾Í¿ÉÒÔ°ó¶¨ÀàÄ£°åµÄÈ«²¿ÊµÀý¡£ ¸ø³öÒ»¸ö²Î¿¼³ÌÐò¡£ #include <iostream> using namespace std; template<class T> class A { template<class Typ> friend class A; public: template<class Typ> Typ somefunc(A<Typ>& obj) { return obj.k; } private: T k; }; int main() { A<int> ai; A<double> ad; cout<< ad.somefunc(ai); system("pause" ;return 0; } ÔÚVisual Studio 2013ÖбàÒëͨ¹ý |
3Â¥2016-02-24 01:55:28
¼¸ÂÞÐÇÈË
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 58.3
- Ìû×Ó: 24
- ÔÚÏß: 4.4Сʱ
- ³æºÅ: 2295462
- ×¢²á: 2013-02-23
- רҵ: ¼ÆËã»úÈí¼þ
4Â¥2016-02-24 02:03:28
¼¸ÂÞÐÇÈË
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 58.3
- Ìû×Ó: 24
- ÔÚÏß: 4.4Сʱ
- ³æºÅ: 2295462
- ×¢²á: 2013-02-23
- רҵ: ¼ÆËã»úÈí¼þ
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
|
ÏëÆðÀ´ÁË¡£Èç¹ûÊÇÓÑÔª×Ô¼º£¬¾Í²»ÐèÒªÓÃtemplate¹Ø¼ü×Ö£¬ËäÈ»ÓÃÁËÒ²²»´í¡£ÓÑÔª±ðµÄÄ£°åÀàµÄÈ«²¿ÊµÀý¡£¾ÍÐèҪʹÓÃtemplate£¬¶øÇÒÄ£°å²ÎÊýµÄÃû×Ö²»Ó뵱ǰÀàµÄÄ£°å²ÎÊýÃû×ÖÒ»Ñù¡£¾ÍÏñÎÒ3Â¥µÄ³ÌÐò¡£ #include <iostream> using namespace std; template<class T> class A { friend class A; template<class Typ> friend class B; // ÓÑÔªBµÄÈ«²¿ÊµÀý£¬Ä£°å²ÎÊýTypÓëAµÄÄ£°å²ÎÊýT²»Ò»Ñù¼´¿É¡£ public: template<class Typ> Typ somefunc(A<Typ>& obj) { return obj.k; } private: T k; }; template<class T> class B { public: template<class Typ> Typ somefunc2(A<Typ>& obj) { return obj.k; } private: T k; }; int main() { A<int> ai; B<double> ad; cout << ad.somefunc2(ai); system("pause" ;return 0; } Ò²ÊÇÔÚVisual Studio 2013ÖбàÒëͨ¹ý¡£ÕâÖÖ³ÆÎª·Ç°ó¶¨ÓÑÔª¡£ |
5Â¥2016-02-24 02:18:46














»Ø¸´´ËÂ¥
;