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