[問題] 關於繼承的public以及private

看板C_and_CPP (C/C++)作者 (挖哈哈)時間16年前 (2009/02/15 16:40), 編輯推噓3(305)
留言8則, 5人參與, 最新討論串1/1
有個繼承的用意問題如下 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

02/15 16:55, , 1F
protected 在你背後 它非常火
02/15 16:55, 1F

02/15 16:57, , 2F
樓上讓我笑了XD...意思是protect不受繼承關鍵字的影響?
02/15 16:57, 2F

02/15 17:01, , 3F
其實有它的意義啦 private 看一下吧 http://0rz.tw/3wKhk
02/15 17:01, 3F

02/15 17:02, , 4F
Effective C++ 2e 條目 42
02/15 17:02, 4F

02/15 20:59, , 5F
protected 在你背後 XDD
02/15 20:59, 5F

02/16 15:05, , 6F
誰跟你說 private 繼承是 B 不能用 A 的東西?
02/16 15:05, 6F

02/16 15:06, , 7F
是對使用 B 的 code 而言,A 的部分是 private 的吧。
02/16 15:06, 7F

02/16 15:07, , 8F
在術語上,這叫做以 A 實作 B 的功能,但不繼承它的介面。
02/16 15:07, 8F
文章代碼(AID): #19bzKEp4 (C_and_CPP)
文章代碼(AID): #19bzKEp4 (C_and_CPP)