看板 EE_DSnP 關於我們 聯絡資訊
以下是 OK 的... class A { public: void f(A a) { ... a._privateData; ... a._privateFunction(); ... } private: void g(A a) { ... a._privateData; ... a._privateFunction(); ... } }; 以下是不 OK 的... // 到這行 class B 還沒定義完全 class A { public: void f(B b1); // B 定義不完全 B _b2; // B 定義不完全 A _d1; // A 不能包 A private: void g(B b3); // B 定義不完全 B _b4; // B 定義不完全 A _d2; // 宣告成 private 也不能包 A }; ---- 總而言之, class A 的 member function 可以拿 A 的物件當作參數, 而且可以直接 access 他所有的 public and private data and functions. 而 class A 裏面不可以用 A 的 object 當作 data member, 或是其他尚未定義清楚的 class 的 object 也不可以. (除非是 pointer 或是 reference type) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.21.241
Knossos:最後一行的那兩個方式...可以請哪位大大給個例子嗎?3Q 10/30 21:30
flarehunter:像是linked list 要有一個指向下個節點的pointer嗎? 10/30 21:52