[問題] C++ 是否真有結構體存在?

看板C_and_CPP作者 (藍影)時間13年前 (2010/11/22 02:05), 編輯推噓4(4016)
留言20則, 7人參與, 最新討論串1/3 (看更多)
最近問問題發現我表達能力很差, 標題每次都想半天.. C++ 在做類別的時候,是用 class / struct 去實做 C 裡面識別字只有 struct 沒有 class 也沒有解析(::) 的概念 那 C++ 用 struct 自定義時, 如果裡面都是 data member, 還是將它視為 class 嗎? -- YouLoveMe() ? LetItBe() : LetMeFree(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.76.142

11/22 02:10, , 1F
C++的struct就是class,只差在private/public
11/22 02:10, 1F

11/22 02:17, , 2F
預設的存取權限跟繼承方法不一樣而已, 兩個是一樣的東
11/22 02:17, 2F

11/22 02:18, , 3F
嗯,您說的我知道.所以C++應只有"類別"而無"結構體"吧?
11/22 02:18, 3F

11/22 02:22, , 4F
只要你達成 POD 的條件, 就可以當成是 C 語言結構
11/22 02:22, 4F

11/22 02:22, , 5F
你可以定義一下你的「類別」與「結構體」各是什麼嗎?
11/22 02:22, 5F
與其去定義「類別」與「結構體」,我想我只能說出他們二個的差別 我對於類別和結構體最大的差別扣除那些 虛擬、多型、封裝、繼承、overload 運算子...etc 之外. 最大差別應在於 "function member" 上的實做, 我的確也還不夠力去用 C 去模擬 C++ 的 class, 目前也只有想到在 struct 裡面塞 function pointer 去模擬 function member 鑑於這點, 所以才問是不是 Cpp 裡面並沒有結構體 因為那種東西實際上不知會不會解讀為 class OO{ public: int member1, member2; }

11/22 02:24, , 6F
讓我回想起 t 大精采的文章 #1AzOEYfZ
11/22 02:24, 6F
我會去看這篇的, 謝謝您的分享 ※ 編輯: tropical72 來自: 180.177.76.142 (11/22 02:31)

11/22 02:34, , 7F
唔,其實function member跟struct塞function pointer不同
11/22 02:34, 7F

11/22 02:36, , 8F
Inside The C++ Object Model <-- 去弄個中文版來看看
11/22 02:36, 8F

11/22 02:36, , 9F
其實還是全域函式, obj.func() 會被變成 func(&obj)
11/22 02:36, 9F

11/22 02:36, , 10F
XD 這方面我會再研究.. 謝謝樓上指正.
11/22 02:36, 10F

11/22 02:36, , 11F
只是透過語言的方式讓你以為他真的是裡面的成員
11/22 02:36, 11F

11/22 02:36, , 12F
謝謝 asksan 推薦
11/22 02:36, 12F

11/22 02:38, , 13F
是「語法」, 打錯
11/22 02:38, 13F

11/22 09:28, , 14F
這篇很不錯,提出我的長期疑惑,感謝!
11/22 09:28, 14F

11/22 09:28, , 15F
另外 akasan大你說得那篇文章怎麼找呢?我不太會用
11/22 09:28, 15F

11/22 13:02, , 16F
那是一本書~
11/22 13:02, 16F

11/22 14:06, , 17F
pcedison:文章列表直接貼上 #1AzOEYfZ(文章代碼).enter
11/22 14:06, 17F

11/22 15:08, , 18F
0.0 原來是更前面那句
11/22 15:08, 18F

11/23 12:45, , 19F
while(YouLoveMe() ? LetItBe() : LetMeFree());
11/23 12:45, 19F

11/23 18:59, , 20F
樓上的 while 用得不錯..
11/23 18:59, 20F
文章代碼(AID): #1CwLzVQR (C_and_CPP)
文章代碼(AID): #1CwLzVQR (C_and_CPP)