-1
A
回答
0
有兩種方式一種是
使用受保護的關鍵字
class A{
protected:
void f(){
std::cout << "F" << std::endl;s
}
};
class B:public A{
// access f() here...
};
任何派生類可以從類訪問f()
功能。
方式二: 使B級友元類A的
#include <iostream>
class A{
private:
void f(){
std::cout << "F" << std::endl;
}
friend class B;
};
class B:public A{
A obj;
public:
void accessF(){
obj.f();
}
};
int main(){
B obj;
obj.accessF();
return 0;
}
+0
需要'B'的前向聲明才能使'A'變成'friend'。 – user4581301
+0
@ user4581301我不這麼認爲,我已經測試過了。你能解釋爲什麼它需要嗎? – UnKnown
+0
我的歉意。跳過槍。相同的命名空間異常。 – user4581301
0
使用訪問說明符(如果基類是不是你的控制之下):
class A
{ public:
void f() {}
void h() {}
};
class B: private A // all members of A are private
{ public:
void g()
{ f();
}
using A::h; // adjust access
};
int main()
{ A a;
a.f();
B b;
b.g();
b.h();
b.f(); // error: 'void A::f()' is inaccessible
}
相關問題
- 1. 「References」屬性在客戶端不可見
- 2. Torrent客戶端說能夠連接但端口不可見
- 3. 客戶端的JavaScript函數
- 4. 客戶端 - 調用函數
- 5. 使元素對用戶可見,但對事件不可見
- 6. ComplexModel不可用客戶端
- 7. 客戶端寬度不對
- 8. 以前版本的文件在SMB客戶端中不可見
- 9. 試圖在python IRC例如,客戶端不可見的聊天
- 10. 當ControlToValidate在客戶端不可見時禁用RequiredFieldValidator
- 11. WCF屬性在客戶端上不可見
- 12. 構造函數JSONobject(對象)不可見
- 13. Restlet jse2客戶端資源界面在類加載器中不可見
- 14. 端點的Android客戶端不認類
- 15. R中的函數對最終用戶不可見
- 16. Java客戶端 - 服務器:該函數getInetAdress不返回客戶端
- 17. 基於不同的客戶端
- 18. 基本的twitter客戶端
- 19. 使用select()函數進行客戶端與客戶端通信c
- 20. 計數器框,可見所有客戶
- 21. openerp web客戶端6.1:如何覆蓋基本的javascript函數
- 22. 常見YII函數的基類?
- 23. 客戶端和對象類輸出值
- 24. 構造函數不可見
- 25. 可可中的客戶端到客戶端的消息傳遞?
- 26. 模板基類typedef成員不可見
- 27. 什麼是客戶端基類,如何使用它?
- 28. 基類中的虛函數是否可見?
- 29. 前端客戶端的用戶對象
- 30. WCF客戶端本地函數
你熟悉保護關鍵字? – UnKnown
使他們受到保護。通過「客戶端」你是否指基類的對象? – sameerkn
不明。 「隱形」和「客戶」是什麼意思? – user4581301