社区
C++ 语言
帖子详情
这个为什么是正确的?
abblly
2006-11-07 10:28:04
class A
{
public:
A(int ii):i(ii)
{}
void TestPrint(const A& aa)//这里面是访问另一个对象aa的私有成员i,
// 而不是this.i,为什么不报错
{
cout<<aa.i<<endl;
}
private:
int i;
};
int main()
{
A a(1),b(2);
a.TestPrint(b);
return 0;
}
如题。
...全文
208
9
打赏
收藏
这个为什么是正确的?
class A { public: A(int ii):i(ii) {} void TestPrint(const A& aa)//这里面是访问另一个对象aa的私有成员i, // 而不是this.i,为什么不报错 { cout<<aa.i<<endl; } private: int i; }; int main() { A a(1),b(2); a.TestPrint(b); return 0; } 如题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
abblly
2006-11-08
打赏
举报
回复
类的访问权限是按类型分,不是按对象分的。
A类的内部成员函数,可以访问A类的私有成员,A类的友元可以访问A类的私有成员。
---------------------------
讲的挺清晰,结贴
guochun
2006-11-08
打赏
举报
回复
编译器应该是将其按友元的方式来处理的,类本身就是自身的友元
guochun
2006-11-07
打赏
举报
回复
编译器这么安排好象也合理,在类内当然对本类完全透明,能访问本类对象的私有成员也说得过去,不过我还从没在其他地方见到过这方面的说明,不知属不属于C++标准内
guochun
2006-11-07
打赏
举报
回复
我也觉得应该不能访问才合理,不知它为什么这么安排。
不过现在知道这样规定了,就这么用吧,又学了一点
shunan
2006-11-07
打赏
举报
回复
恩!nule(怒了)说的很清楚了
a_b_c_abc1
2006-11-07
打赏
举报
回复
可以结了。
nule
2006-11-07
打赏
举报
回复
成员函数当中当然可以访问它所属的类的对象的私有成员了。
这些基本概念你可得好好整理下,不要晕头了。
lann64
2006-11-07
打赏
举报
回复
void TestPrint(const A& aa)//这里面是访问另一个对象aa的私有成员i,
// 而不是this.i,为什么不报错
这不还是A类的对象嘛,当然可以访问私有成员了。
类的访问权限是按类型分,不是按对象分的。
A类的内部成员函数,可以访问A类的私有成员,A类的友元可以访问A类的私有成员。
飞哥
2006-11-07
打赏
举报
回复
void TestPrint(const A& aa)//这里面是访问另一个对象aa的私有成员i,
// 而不是this.i,为什么不报错
{
cout<<aa.i<<endl;
}
----------------------------
怎么可能报错呢?
在类内,对象对私有成员都是有访问权限的,testprint是类的成员函数,自然可以访问私有成员
如果你在外面定义一个类的实例,那肯定不能访问
---
基于YOLOv5工地上安全帽佩戴的检测源码+训练好模型+数据集.zip
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
2011管理类联考199综合能力全国硕士研究生招生考试解析.pdf
考研管理类联考综合能力答案解析,考研真题,考研历年真题,考研管理类联考历年真题,真题解析。
NIUCLOUD-ADMIN 是一款快速开发SaaS通用管理系统后台框架.zip
springboot框架 一、Spring Boot基础应用 Spring Boot特征 概念: 约定优于配置,简单来说就是你所期待的配置与约定的配置一致,那么就可以不做任何配置,约定不符合期待时才需要对约定进行替换配置。 特征: 1. SpringBoot Starter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中。 2,使编码变得简单,SpringBoot采用 JavaConfig的方式对Spring进行配置,并且提供了大量的注解,极大的提高了工作效率,比如@Configuration和@bean注解结合,基于@Configuration完成类扫描,基于@bean注解把返回值注入IOC容器。 3.自动配置:SpringBoot的自动配置特性利用了Spring对条件化配置的支持,合理地推测应用所需的bean并自动化配置他们。 4.使部署变得简单,SpringBoot内置了三种Servlet容器,Tomcat,Jetty,undertow.我们只需要一个Java的运行环境就可以跑SpringBoot的项目了
2024-2030全球及中国冷冻有机毛豆行业研究及十五五规划分析报告.docx
2024-2030全球及中国冷冻有机毛豆行业研究及十五五规划分析报告
SpringBoo车险理赔源码.rar
SpringBoo车险理赔源码.rarSpringBoo车险理赔源码.rarSpringBoo车险理赔源码.rar
C++ 语言
64,648
社区成员
250,498
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章