PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 为何外部传Object 可读其Object private值
楼主:
joejoe14758
(KILE)
2020-05-16 10:43:01
开发平台(Platform): (Ex: Win10, Linux, ...)
Mac
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
问题(Question):
#include<iostream>
using namespace std;
class Complex
{
private:
int value ;
public :
Complex(int value =0)
{
this->value = value ;
}
void show()
{
cout << this->value << endl ;
}
Complex add(Complex c1)
{
Complex temp ;
temp.value = this->value + c1.value ;
return temp;
}
};
int main()
{
Complex a(1), b(2) ;
a.show() ;
Complex c = a.add(b) ;
c.show() ;
}
//程式码结束
作者:
Lipraxde
(Lipraxde)
2020-05-16 10:51:00
https://bit.ly/2WZnPM2
,你用的是 Inside 的写法哦~你是问另一个问题XD
https://bit.ly/2Ayx0eM
,这个有比较接近你想问的?
楼主:
joejoe14758
(KILE)
2020-05-16 11:14:00
谢谢 我研究一下
作者: steak5566 (牛排56)
2020-05-16 13:57:00
相同class的object 互为friend
作者:
protoss
(天生散人)
2020-05-16 17:28:00
c1.value那时在member function的scope里头可以存取private...好吧~其实我也不知道...只是以前看书我给的解释...
作者:
steve1012
(steve)
2020-05-16 17:48:00
同一个class可以存取private value你可以简单想成 同个class的人知道如何使用这个value所以可以用
作者:
kobe8112
(小B)
2020-05-16 18:24:00
我记得存取修饰字是以类别为基础进行判断,不是以物件
作者:
Lipraxde
(Lipraxde)
2020-05-17 13:06:00
你有纠结在是不是同 object 上吗?
作者:
lylu
(理路)
2020-05-17 23:43:00
https://stackoverflow.com/a/6921318
作者:
Lipraxde
(Lipraxde)
2020-05-18 21:24:00
提问里认为两个不同的物件有不同的 scope 是有误的, a和 b 并不会有什么自己的 scope。后面的结论没有纠正这点,而是顺着回答,所以我不太确定你实际上理解的。
作者:
protoss
(天生散人)
2020-05-18 22:35:00
一开始都会因为是两个不同的object所以以为都是从外部存取...但仔细看一下那function是member function...所其以实也还是在class里头...不过他也找到答案了...其实很优秀了...一定也有人就这样看过去了...也有不少人根本从没看到这过...
继续阅读
Re: [讨论] 对于同事的coding style感到很感冒
poyenc
Re: [讨论] 对于同事的coding style感到很感冒
lovejomi
Re: [讨论] 对于同事的coding style感到很感冒
lovejomi
Re: [讨论] 对于同事的coding style感到很感冒
poyenc
[问题]请问 opencv的dft
michael9801
[问题] 应用Semaphore于容器
forgmonkey
[问题] 有关于typedef省略的问题?
cat99961
[讨论] 对于同事的coding style感到很感冒
lovejomi
[讨论] 使用C语言做Hanoi Tower
fmtshk
[问题] 以2进位打开档案读取4bytes整数
mistel
Links
booklink
Contact Us: admin [ a t ] ucptt.com