±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 585  |  »Ø¸´: 4

lixy1217

ľ³æ (ÖøÃûдÊÖ)

[ÇóÖú] ¹ØÓÚC++ÀàÄ£°åµÄÎÊÌâ ÒÑÓÐ2È˲ÎÓë

Èç¹ûÎÒ¶¨ÒåÁËÒ»¸öÀàÄ£°å A<type>£¬
ÄÇô»á³öÏÖÒ»¸öÎÊÌ⣬¾ÍÊÇA<double> ²»Äܵ÷ÓÃA<int>ÀïµÄ˽ÓбäÁ¿
µ±È»¿ÉÒÔ¶¨ÒåÒ»¸öfriend A<double>£¬¾Í¿ÉÒÔÁË


µ«ÎÊÌâÊÇ£¬ÎÒÏ£ÍûËùÓÐÀàÐ굀 A Ä£°å¶¼¿ÉÒÔµ÷ÓÃÈÎºÎÆäËüÀàÐÍ A Ä£°åµÄ˽ÓбäÁ¿£¬ÇëÎÊÕâÒ»µãÄÜ×öµ½Âð£¿
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ż¶û³¨¿ªÐÄì飬ÊÀ½ç½«²»Ôٹ¶À
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

baghnac

½ð³æ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

´ÓÄ£°åº¯Êý·ÖÎö£¬Ë½ÓбäÁ¿ÓУº
  1. ¾Ö²¿±äÁ¿
  2. ¾²Ì¬±äÁ¿

¾Ö²¿±äÁ¿£º
¾Ö²¿±äÁ¿ÊÇÔËÐÐʱÔÚ¶ÑÕ»ÀïµÄ£¬Ã¿´ÎÔËÐж¼²»Ò»¶¨Ò»Ñù
Ò²¾ÍÊÇ˵¿ÉÄÜ»áͬʱÔËÐÐÁ½¸öA<int>£¬¶øÀïÃæµÄ¾Ö²¿±äÁ¿Öµ²»Ò»Ñù£¬ÕâÓëtypeÎÞ¹Ø

¾²Ì¬±äÁ¿£º
´ÓÏÖÏóÀ´¿´£¬ÓÉÓÚ²»Í¬ÀàÐÍʵ¼ÊÉÏÊDz»Í¬º¯ÊýÇ©ÃûµÄº¯Êý£¬ËùÒÔ²»Í¬º¯ÊýÀïµÄ¾²Ì¬±äÁ¿ÊǶÀÁ¢µÄ£¬²»ÄÜ»¥Ïà·ÃÎÊ
³ý·Ç¸Ä³ÉÈ«¾ÖµÄ
-------------------------------------------------------------------------
Ä£°åÀàÐÍÒÔÉÏÀàËÆ£¬¸Ð¾õÒ²ÊÇÉú³ÉÁ½¸ö²»Í¬µÄʵÀý£¬ËùÒÔÆä˽ÓбäÁ¿ÊDz»ÄÜÏ໥·ÃÎʵ쬷ñÔò¾Í²»ÊÇ˽ÓбäÁ¿ÁË
Beagreathackernotacracker!
2Â¥2016-02-06 09:26:43
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

¼¸ÂÞÐÇÈË

гæ (³õÈëÎÄ̳)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

ʹÓÃ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
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

¼¸ÂÞÐÇÈË

гæ (³õÈëÎÄ̳)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï ¡ï ¡ï ¡ï ¡ï
lixy1217: ½ð±Ò+5, ¡ïÓаïÖú, ºÇºÇ£¬ÎÒÒѾ­ÖªµÀÕâ¸öÁË£¬Æäʵ½â¾öµÄ·½·¨¾ÍÊÇÕâô¼òµ¥£¬»¹ÊǸÐл²ÎÓë~~ 2016-02-24 11:58:02
´ò´íÁË¡£Ö±½ÓÓÃfriend class A;¾Í¿ÉÒÔÁË¡£¶øÔÚBÀàÓÑÔªAÀàËùÓÐʵÀýÎҼǵúÃÏñÒ²ÊÇ¿ÉÒԵģ¬Í»È»ÍüÁË¡£
4Â¥2016-02-24 02:03:28
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

¼¸ÂÞÐÇÈË

гæ (³õÈëÎÄ̳)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

ÏëÆðÀ´ÁË¡£Èç¹ûÊÇÓÑÔª×Ô¼º£¬¾Í²»ÐèÒªÓÃ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
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ lixy1217 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ÉúÎïѧ308·ÖÇóµ÷¼Á£¨Ò»Ö¾Ô¸»ª¶«Ê¦´ó£© +6 ÏàÐűػá¹ââÍòÕ 2026-03-31 7/350 2026-04-02 23:16 by JourneyLucky
[¿¼ÑÐ] 326Çóµ÷¼Á +8 áÌáÌ×Ð 2026-04-02 8/400 2026-04-02 23:00 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] ¿¼Ñе÷¼Á +3 Àîľ×Ó0120 2026-04-02 5/250 2026-04-02 21:45 by dongzh2009
[¿¼ÑÐ] ÍÁľ304Çóµ÷¼Á +4 ÍÃͻͻͻ£¬ 2026-04-02 5/250 2026-04-02 21:16 by ÍÃͻͻͻ£¬
[¿¼ÑÐ] 351Çóµ÷¼Á +3 ÁùÙâ°º°¡ 2026-03-27 3/150 2026-04-02 21:08 by dongzh2009
[¿¼ÑÐ] »¯Ñ§308·Öµ÷¼Á +14 ÄãºÃÃ÷ÌìÄãºÃ 2026-03-30 15/750 2026-04-02 13:39 by ÎûÎûЦ22
[¿¼ÑÐ] 0710ÉúÎïѧ336·ÖÇóµ÷¼Á +3 kiyy 2026-04-01 3/150 2026-04-02 10:54 by w³æ³æ123
[¿¼ÑÐ] 377Çóµ÷¼Á +3 RASKIN 2026-04-02 3/150 2026-04-02 09:45 by zzchen2000
[¿¼ÑÐ] 279Çóµ÷¼Á +6 ѧ¶øË¼ÙâÖª 2026-04-01 6/300 2026-04-02 09:16 by vgtyfty
[¿¼ÑÐ] 298Çóµ÷¼Á +4 ʲôÊÇÅÖÍ·Óã 2026-03-30 6/300 2026-04-01 22:06 by ¿Í¶ûÃÀµÂ
[¿¼ÑÐ] ½¨»·£¬ÄÜÔ´£¬ÍÁľÀÏʦ·¹ý¿´Ò»¿´£¡£¡£¡ +4 ºÙºÙuu 2026-04-01 4/200 2026-04-01 20:42 by ÎÞи¿É»÷111
[¿¼ÑÐ] 285Çóµ÷¼Á +5 FZAC123 2026-03-30 5/250 2026-04-01 15:50 by º«Ó꺭
[¿¼ÑÐ] 311Çóµ÷¼Á +10 ÀîÜÆÐÂ1 2026-03-31 10/500 2026-04-01 14:38 by chenqifeng666
[¿¼ÑÐ] Çóµ÷¼Á +4 DADA¹Ö 2026-03-31 4/200 2026-04-01 14:30 by ZXlzxl0425
[¿¼ÑÐ] 339Çóµ÷¼Á +5 zjjkt 2026-03-31 5/250 2026-04-01 09:18 by JourneyLucky
[¿¼ÑÐ] ±¾2Ò»Ö¾Ô¸C9-333·Ö£¬²ÄÁÏ¿ÆÑ§Ó빤³Ì£¬Çóµ÷¼Á +9 ÉýÉý²»½µ 2026-03-31 9/450 2026-03-31 18:01 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] ¼ª´óÉúÎïѧ326·ÖÇóµ÷¼Á +3 sunnyupup 2026-03-31 3/150 2026-03-31 09:28 by longlotian
[¿¼ÑÐ] 085600 286·Ö ²ÄÁÏÇóµ÷¼Á +11 ÂéÀ±öÏÓã 2026-03-27 12/600 2026-03-30 19:33 by Wang200018
[¿¼ÑÐ] 332Çóµ÷¼Á +6 @MZB382400 2026-03-28 6/300 2026-03-30 16:57 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 272Çóµ÷¼Á +7 ½Å»¬µÄÊØ·¨¹«Ãñ 2026-03-27 7/350 2026-03-27 17:23 by laoshidan
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û