PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] C++ class type 及 物件生成疑問
作者:
x246libra
(楓)
2018-04-09 13:36:24
(一)
在C# class 屬於reference type
原本以為C++ 也是reference type 但查了網路
似乎說 C++預設 class是value type
但也可以當reference type使用
https://msdn.microsoft.com/en-us/library/hh438479.aspx
想問 c++ 的class是
屬於 reference type 還是 value type?
(二)
現在接觸到一點C++ 有點搞不懂
C#和C++的物件生成方式
class classA
{
public:
int num;
}
剛開始學物件導向是C#
使用物件的宣告是
classA a = new classA
a.num=1
a是屬於 變數 還是 指標?
但C#應該不能操作指標
因為跟C++一樣有用到new
我搞不懂C++和C# 物件使用的分別
有人可以跟我解釋一下嗎?
C++物件生成的方式有兩種?
1.直接宣告 物件變數
classA a
a.num=1
跟C#的使用方式很像
但是不用new?
2.宣告物件指標 再用new給予記憶體位置
classA *a = new classA
a.num->1
C++這兩種方式 有什麼不同?
哪一種方式 比較可以對應到C#?
作者:
rbufghj9713
(我只是來潛水)
2018-04-09 13:59:00
一個在stack一個在Heap
作者: jerryh001
2018-04-09 14:19:00
2
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2018-04-09 15:50:00
C++ 的 class 本身無所謂 type
作者:
x246libra
(楓)
2018-04-09 19:40:00
沒有嗎? 那微軟網站解釋CLASS的TYPE 是?
作者: firose (guest也是也是也是也是也)
2018-04-09 19:52:00
以儲存位置看, C++ 直接建立放在 stack, 用 new 放在 heapC# value type 放在 stack, reference type 放在 heap
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2018-04-10 14:27:00
C++ 是以語法 (new 與否) 決定, class 本身不決定反過來說即使不是 class 也仍然可以是 value 或 ref所以 class 與否與 valu/reference 是不相干的兩件事
作者:
x246libra
(楓)
2018-04-10 22:46:00
謝謝您的回覆
繼續閱讀
Re: [問題] 兩題C++面試題的詢問
wawi2
[問題] 關於Visual studio的除錯
AdamChiau
Re: [問題] 物件的定義 .. function為何不是物件?
KanzakiHAria
[問題] 物件的定義 .. function為何不是物件?
alpho
Re: [問題] 兩題C++面試題的詢問
plsmaop
[討論] deprecating raw pointer
KanzakiHAria
Re: [問題] 兩題C++面試題的詢問
descent
[問題] 兩題C++面試題的詢問
Cosmology
[問題] 如何使用libev
Howard1020
[問題] 雙向鏈結串列
wei115
Links
booklink
Contact Us: admin [ a t ] ucptt.com