| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 737 人关注过本帖
标题:[求助]访问类的私有成员问题?
只看楼主 加入收藏
TYGL
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-3-15
收藏
 问题点数:0 回复次数:7 
[求助]访问类的私有成员问题?
请问:
(1)CLASS A;
CLASS B
{
private:
A pa; /这条声明对吗?
......

}
(2)
如果有两个类A和B
,并且类B的一个私有成员为类A的对象a,那么,B的成员函数可以访问类A的对象a的私有和受保护成员吗?
例如:
CLASS A
{
。。。。。
};
CLASS B
{
private :
A a; /B的成员函数可以访问a的私有成员和受保护成员吗?
public:
......
}
搜索更多相关主题的帖子: 成员 CLASS private 访问 函数 
2006-05-27 23:01
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
第一个问题:我记得书上说可以,但是我弄的时候不行。
第二个问题:不行,类友元是单向的。

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-27 23:09
TYGL
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-3-15
收藏
得分:0 

第一个问题:A为引用性声明,是不是在B中不可以声明A的变量,但可以声明A的类型指针呀?


第二个问题:A并未声明为B的友员类,只是B的一个成员,那么B是否可以访问A的对象的私有成员呢?

[此贴子已经被作者于2006-5-27 23:22:51编辑过]

2006-05-27 23:20
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

不好意思!第2个问题我没看清楚。
是这样的:
CLASS A
{
private :
int x;
public:
void show(){cout<<x;}
};
CLASS B
{
private :
A a; /B的成员函数可以访问a的私有成员和受保护成员吗?
public:
void show(){a.show()}
};
B b;
b.show();
这样能理解吗?


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-27 23:31
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
第一个问题:A为引用性声明,是不是在B中不可以声明A的变量,但可以声明A的类型指针呀?

我想是因为在给B的数据成员分配内存空间时,还不知道A的对象需要多少内存(这里要调用构造函数呢,但是该函数还没定义,怎么调用呢,所以也是问题),所以产生问题(前向引用了),但是如果是指针就没有这个问题了,因为指针只占4个字节,我想应该是这个问题吧!

[此贴子已经被作者于2006-5-27 23:43:41编辑过]


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-27 23:34
TYGL
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-3-15
收藏
得分:0 
首先谢谢‘wfpb’!
关于第2个问题:你的意思是说B不可以直接访问A的私有数据成员(虽然A的一个对象是B的成员数据),但B可以间接访问A的私有数据成员?对吗?
2006-05-28 08:31
ooooo
Rank: 1
等 级:新手上路
威 望:1
帖 子:135
专家分:0
注 册:2005-6-24
收藏
得分:0 
class A;
class B
{
private:
A pa;
};
1 类B中的A只能用于函数原型声明的形参表中,友员类声明
2 可以说A的一个对象是B的成员数据吗?
3 C++的关键字全是小写的

2006-05-28 09:02
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
都要等到B的构造函数运行时
才能用到A,因为那时才运行A的构造函数
而要用A的数据成员,需要在A的参与下

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-05-28 09:51
快速回复:[求助]访问类的私有成员问题?
数据加载中...
 
   



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

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