作者kimmyariel (Kimmy)
看板C_and_CPP
標題[問題] A *a 和 A *a = new A 的疑問
時間Sat Aug 18 00:02:37 2012
class A()
{
public: void test(){printf("test");}
};
int main()
{
A *a;
A *aa = new A;
a->test();
aa->test();
}
印出結果皆是test
想請問為什麼結果都是一樣
那這樣 A *a 和 A *aa = new A 又有什麼差別呢
我知道 A *aa = new A 後 aa會指向放著A物件的區塊
而A *a內容是undefine
那為什麼印出來的值卻是一樣的呢?
如果觀念有誤麻煩請指正...
感謝>_<
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.155.100
→ james732:什麼編譯環境? 08/18 00:05
→ kimmyariel:Win7在codeblocks下編譯 08/18 00:06
推 QQ29:看這篇 L 大的一開始的說法, 這樣只是你this = NULL進去而已 08/18 00:12
→ QQ29:你沒動到this-> 基本上就一般function call.. 08/18 00:12
→ james732:我都貼完才發現上面那篇文章其實講得很清楚了...orz 08/18 00:21
→ kimmyariel:哈...我覺得你額外解釋我比較清楚耶XDDD 08/18 00:25