看板 C_and_CPP 關於我們 聯絡資訊
有個繼承的用意問題如下 class A{ private: int var1; pubilc: A(){ var1=0;} void increment(){var1++;} } class B:public A{ pubilc: void increment_varofA(){A::increment();} } 我想問的是,在這裡想存取A的private成員只要用從A繼承下來的pubilc method 但是當 class B:private A{ ... } 的時候..不就代表class B都不能用從A繼承下來的東西? 那這時候B繼承A的用意到底何在阿?? 這方面一直搞不懂 有實際用private繼承的應用嗎@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.165.139.231
HudsonE:protected 在你背後 它非常火 02/15 16:55
stenler:樓上讓我笑了XD...意思是protect不受繼承關鍵字的影響? 02/15 16:57
HudsonE:其實有它的意義啦 private 看一下吧 http://0rz.tw/3wKhk 02/15 17:01
COLDTURNIP:Effective C++ 2e 條目 42 02/15 17:02
vocaloid:protected 在你背後 XDD 02/15 20:59
tinlans:誰跟你說 private 繼承是 B 不能用 A 的東西? 02/16 15:05
tinlans:是對使用 B 的 code 而言,A 的部分是 private 的吧。 02/16 15:06
tinlans:在術語上,這叫做以 A 實作 B 的功能,但不繼承它的介面。 02/16 15:07