C++的同一个类的不同对象可以相互访问private成员 是不是?
不是。
首先说说类和类对象的区别。
类是一个广义概念、类对象是类这个广义概念中的具体。就相当于人类与某个具体的人一样。那么私有成员就相当于人这个类中大脑之类的器官定义。每个正常的人都有大脑,但是人与人之间不能直接使用对方的大脑对吧。同样的 同一个类的不同对象也不能互相访问private成员。c++中同一个类的不同对象可以访问对方的private成员,公有继承可以把基类的private成员也继承下去,把函数为虚函数的用途是包含这个函数的类一般都是会派生出新的类,这个函数就是一个接口,就是说这个函数在派生出的类中会被重写当对象被声明,就会有自己独立的空间了,所以不能访问其他空间的成员,除非是静态变量,因为静态变量属于类,不属于对象。w.b(i) 是调用int b(const a &t)这个public function,再通过它访问private member d。它并没有直接访问private member,所以没有问题。
在main中,下面三行可见的部分没用任何private member,因此符合语法。
a w(1);
a i(3);
w.b(i);int b(const a &t)
{
std::cout<<t.d<<"??/n";
return 0;
}
因为b()是公有成员函数,能被a的对象调用,而b(i)中b 的参数就是a的对象(本例是i)的别名t,它的功能就是通过t也就是对象i调用对象i的成员变量,并不是b直接访问的
首先说说类和类对象的区别。
类是一个广义概念、类对象是类这个广义概念中的具体。就相当于人类与某个具体的人一样。那么私有成员就相当于人这个类中大脑之类的器官定义。每个正常的人都有大脑,但是人与人之间不能直接使用对方的大脑对吧。同样的 同一个类的不同对象也不能互相访问private成员。c++中同一个类的不同对象可以访问对方的private成员,公有继承可以把基类的private成员也继承下去,把函数为虚函数的用途是包含这个函数的类一般都是会派生出新的类,这个函数就是一个接口,就是说这个函数在派生出的类中会被重写当对象被声明,就会有自己独立的空间了,所以不能访问其他空间的成员,除非是静态变量,因为静态变量属于类,不属于对象。w.b(i) 是调用int b(const a &t)这个public function,再通过它访问private member d。它并没有直接访问private member,所以没有问题。
在main中,下面三行可见的部分没用任何private member,因此符合语法。
a w(1);
a i(3);
w.b(i);int b(const a &t)
{
std::cout<<t.d<<"??/n";
return 0;
}
因为b()是公有成员函数,能被a的对象调用,而b(i)中b 的参数就是a的对象(本例是i)的别名t,它的功能就是通过t也就是对象i调用对象i的成员变量,并不是b直接访问的
相关内容
最新更新
- 跪求电影!关于朋友友谊之间的电影!要求是那种特别感动的!谢谢!
- 寻仙怎么得到大量积分?
- 学生公交卡怎么充值?
- 洛奇 怎么看农场有没有下雨
- 螃蟹能吃辣椒吗
- 雪豹里张楚怎么死的 是第几集
- 现在最大的手机网络游戏是什么?有哪些手机支持>?
- 一个人的约会用日语怎么说?
- 电影 钢铁侠第一部的故事简介
- 什么是借方和贷方
- 诏求微时故剑什么意思
- 我想下载韩国网站的视频,但迅雷,维棠那些都不行! 所以,我就放了一遍,然后在临时文件夹里找到这个视频
- crontab 不执行的问题,有详细描述
- 东北师范大学的生态学怎么样
- 请问大家认为大学生应该要了解学习什么方面的知识呢
- 我是四川乐山市的,儿子有严重的自闭症,请问怎么办啊?
- 商业机密问题,请大家为我分析下我该如何处理?
- 水泥厂的原料磨,生料磨用立磨成熟吗,投资是不是要很多?
- 中国大型国企还有几个?
- 猜你喜欢
-
- An old,mad,blind,despised and dyingking.是什么意思
- 名言、警句、格言100条
- 侠盗猎车圣安地列斯汉化补丁 一打开侠盗猎车就提示 找不到gta_sa_exe 请把汉化补丁复制到游戏目录下.
- PING 的通IBM V7000 但是登录不了 直连PC可以管理 一插到交换机上就只能PING通连不上了
- 有详细的料理机美食的做法么? 最好简单点的
- 18轮大卡车金属疯狂怎么玩
- smt回流焊的最佳温度曲线
- 快乐男生4进3有关张杰和谢娜的内容
- 嵌字诗的格式
- 解(x+y-2√(xy))除(√x-√y) 解 (x√x-y√y)/(√x-√y)
- 跪求朴树《那时花开》电影下载地址T T。
- 上下左右英语
- i have been there (for) four times.这句话中括号里的for要加吗?可不可以不加?
- 我的车是长城M2的 ,谁知道车里的时间怎么调,谢谢。
- 求懂斯伯丁的人来帮忙在74-096, 74-128, 64-284挑个球被! 谢谢!
- 作文翻译(汉译英)高分速求!!!!!
- pull sb to one's feet 是什么意思?是把某人扶起来吗?
- 跪求 歌颂三农的诗歌或散文一篇
- 上海市培明中学和上海市时代中学哪个好?那个高中入学率高一点?