标题:嵌套结构中的友元
只看楼主
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
结帖率:100%
 问题点数:0 回复次数:3 
嵌套结构中的友元
// 最近学C++
// Thinking in C++ 中的一段代码

struct holder {
    private:
        int a[SZ];
    public:
        void initialize();
        
        struct pointer {
            private:
                holder * h;
                int * p;
            public:
                void initialize(holder * H);

                void next();
                void previous();
                void top();
                void end();

                int read();
                void set(int i);
        };
        
        friend class pointer;  // 书中是 friend holder::pointer;
};

按书中的无法通过编译:  a class-key must be used when declaring a friend

为什么是 friend class ?  (类?)
搜索更多相关主题的帖子: 嵌套 void holder 结构 
2008-03-27 20:11
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
我用c++6.0按书中编译可以通过....
嵌套类是独立的类,基本上与它们的外围类不相关,因此,外围类和嵌套类的对象是互相独立的。嵌套类型的对象不具备外围类所定义的成员,同样,外围类的成员也不具备嵌套类所定义的成员。
嵌套类的名字在其外围类的作用域中可见,但在其他类作用域或定义外围类的作用域中不可见。嵌套类的名字将不会与另一作用域中声明的名字冲突。
嵌套类定义了其外围类中的一个类型成员。像任何其他成员一样,外围类决定对这个类型的访问。在外围类的 public 部分定义的嵌套类定义了可在任何地方使用的类型,在外围类的 protected 部分定义的嵌套类定义了只能由外围类、友元或派生类访问的类型,在外围类的 private 部分定义的嵌套类定义了只能被外围类或其友元访问的类型

学习需要安静。。海盗要重新来过。。
2008-03-27 20:28
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
得分:0 
哦,没接触过

Fight  to win  or  die...
2008-03-27 23:39
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 
我用的是DEV-C++

—>〉Sun〈<—
2008-03-28 00:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-205719-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052690 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved