| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 375 人关注过本帖
标题:嵌套结构中的友元
收藏  订阅  推荐  打印 
cosdos
Rank: 6Rank: 6
来自:ShangHai
等级:金牌会员
威望:1
帖子:1377
积分:14374
注册:2007-6-19
嵌套结构中的友元

// 最近学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-3-27 20:11
sunkaidong
Rank: 12Rank: 12Rank: 12
来自:南京师范大学
等级:版主
威望:4
帖子:4128
积分:44851
注册:2006-12-28

我用c++6.0按书中编译可以通过....
嵌套类是独立的类,基本上与它们的外围类不相关,因此,外围类和嵌套类的对象是互相独立的。嵌套类型的对象不具备外围类所定义的成员,同样,外围类的成员也不具备嵌套类所定义的成员。
嵌套类的名字在其外围类的作用域中可见,但在其他类作用域或定义外围类的作用域中不可见。嵌套类的名字将不会与另一作用域中声明的名字冲突。
嵌套类定义了其外围类中的一个类型成员。像任何其他成员一样,外围类决定对这个类型的访问。在外围类的 public 部分定义的嵌套类定义了可在任何地方使用的类型,在外围类的 protected 部分定义的嵌套类定义了只能由外围类、友元或派生类访问的类型,在外围类的 private 部分定义的嵌套类定义了只能被外围类或其友元访问的类型

学习需要安静。。海盗要重新来过。。
2008-3-27 20:28
aipb2007
Rank: 12Rank: 12Rank: 12
来自:CQU
等级:贵宾
威望:40
帖子:2881
积分:29414
注册:2007-3-18

哦,没接触过

Fight  to win  or  die...
2008-3-27 23:39
cosdos
Rank: 6Rank: 6
来自:ShangHai
等级:金牌会员
威望:1
帖子:1377
积分:14374
注册:2007-6-19

我用的是DEV-C++

—>〉Sun〈<—
2008-3-28 00:31
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.049367 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved