作者stenler (挖哈哈)
看板C_and_CPP
標題[問題] 關於繼承的public以及private
時間Sun Feb 15 16:40:45 2009
有個繼承的用意問題如下
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
1F:推 HudsonE:protected 在你背後 它非常火 02/15 16:55
2F:→ stenler:樓上讓我笑了XD...意思是protect不受繼承關鍵字的影響? 02/15 16:57
4F:→ COLDTURNIP:Effective C++ 2e 條目 42 02/15 17:02
5F:推 vocaloid:protected 在你背後 XDD 02/15 20:59
6F:→ tinlans:誰跟你說 private 繼承是 B 不能用 A 的東西? 02/16 15:05
7F:→ tinlans:是對使用 B 的 code 而言,A 的部分是 private 的吧。 02/16 15:06
8F:→ tinlans:在術語上,這叫做以 A 實作 B 的功能,但不繼承它的介面。 02/16 15:07