『壹』 私有繼承的情況下,允許派生類直接訪問的基類成員包括哪些新手求解答
繼承方式不影響派生類對基類的訪問許可權,即使是private繼承,派生類依然能訪問基類的public和protected成員,但是private繼承會使得派生類繼承自基類的public和protected成員的屬性變為private。繼承方式的影響主要是對派生類的派生類有影響,不知我說清楚了沒,你再自己思考一下,繼承還是不簡單的。
『貳』 派生類可以調用基類的私有成員嗎
派生類不能對基類私有成員進行訪問。
『叄』 派生類的成員函數可以直接訪問基類的 成員,不能直接訪問基類的 成員
protect
保護成員在派生類中會變成
私有成員,派生類的成員函數是可以訪問的。
private
私有成員在派生類中是不可訪問成員,必須通過基類的成員函數訪問
『肆』 派生類對象對其基類中的什麼成員是可訪問的
A顯然是錯誤的,私有成員是不能在派生類中訪問的。
B,C當是私有繼承時,基類中的所有成員都成為派生類的私有成員,在派生類的對象(是主函數中定義的)中是不可以去用它的私有成員的。
故答案是D
『伍』 公有繼承派生類的函數可以直接訪問基類的私有成員嗎
如果是公有繼承
子類可以訪問基類的私有數據成員
但是要通過基類的成員函數
不能在子類里就直接訪問基類的私有數據哦
如果要在子類直接訪問
最好把基類的成員定義成保護的或公共的
~~~~~~~~~~~~~~~~~
全盤復制?!
我就覺得文字的東西
攪人得很啊
舉個例子好了
class A
{
public:
put_out()
{
cout<<a;
}
protected:
int b;
private:
int c;
}
class B:public A
{
public:
void get()
{
put_out;//可以,是基類的public;
cout<<b;//可以,是基類的protected;
cout<<c;//不可以,是基類的private;
}
……
你看,基類的c變數在繼承類B中被訪問了吧,但是不能直接就去調用c,但可以通過A中的公用成員函數訪問它呀
其實一句話,人家私有的東西你能隨便就要嗎?當染要饒點彎子咯呵呵~~~~~~~~~~~~~~~~
mIMICALl節省話費
『陸』 c++中派生類如何訪問基類成員變數
C++中派生類對基類成員的訪問形式主要有以下兩種:
1、內部訪問:由派生類中新增成員對基類繼承來的成員的訪問。
2、對象訪問:在派生類外部,通過派生類的對象對從基類繼承來的成員的訪問。
三種繼承方式下,派生類對基類成員的訪問規則。
1、私有繼承的訪問規則
『柒』 派生類的對象對它的基類成員中( )是可以訪問的。
派生類的對象對它的基類成員中(A、公有集成的公有成員)是可以訪問的。
只要是派生類,都可以叢基類中繼承,除非把基類的構造函數定義為私有的,這樣派生類無法構造。
在類的層次設計中,可以發現一些普遍的特性,即派生類總是同基類有「kind of」關系。另一個值得注意點是Book既是派生類,也是基類。
(7)派生類能直接訪問基類的抽象成員擴展閱讀:
每個派生類的說明是在基類的說明之後說明的,因此對於基類僅只給出一個前向引用的說明是不夠的,必須是完全的說明。一個類可以作為很多特別類的基類。
在繼承中,派生類含有基類的成員加上任何你新增的成員。結果派生類可以引用基類的成員(除非這些成員在派生類中重定義了)。當在派生類中重定義直接基類或間接基類的成員時,可以使用范圍分辨符(::)引用這些成員。
『捌』 C++中派生類如何實現對基類私有成員的訪問
派生類不能對基類私有成員進行訪問。
要在派生類中對基類成員進行訪問,可以:
1,在派生類中對基類成員的public屬性進行訪問,以間接訪問基類的私有成員;
2,在基類中將私有成員定義為protected訪問屬性,以在派生類中直接對其進行訪問;
『玖』 派生類的對象可以對其基類中公有繼承的保護成員直接訪問嗎為什麼
這里你大概是弄混了一些概念。
保護成員跟私有成員,只能在類內部訪問,別管是基類的保護成員或者自己的保護成員,都不能用對象訪問。
既然不能用派生類的對象訪問基類的保護成員,派生類可以做什麼,它可以在類內訪問基類的保護成員。
『拾』 在派生類中能否直接訪問基類中的私有成員
不可以,派生類可以訪問protected和public成員,private成員只有該類自身及友元類可以訪問