-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. 試圖在python IRC例如,客戶端不可見的聊天
- 7. WCF屬性在客戶端上不可見
- 8. 構造函數JSONobject(對象)不可見
- 9. Restlet jse2客戶端資源界面在類加載器中不可見
- 10. 使用select()函數進行客戶端與客戶端通信c
- 11. 基本的twitter客戶端
- 12. 計數器框,可見所有客戶
- 13. openerp web客戶端6.1:如何覆蓋基本的javascript函數
- 14. 構造函數不可見
- 15. 可可中的客戶端到客戶端的消息傳遞?
- 16. 什麼是客戶端基類,如何使用它?
- 17. 前端客戶端的用戶對象
- 18. WCF客戶端本地函數
- 19. PHP SOAP調用客戶端函數
- 20. 使用Java直徑客戶端進行基本計費客戶端
- 21. wsimport不生成客戶端類與geotoolkit
- 22. Arduino網絡客戶端類不工作
- 23. wsdl2java目標不生成客戶端類
- 24. svn客戶端的'svnkit'不可用
- 25. o數據客戶端限制類
- 26. 新客戶端在Paho Java客戶端連接時的回撥函數
- 27. Web服務 - 客戶端類
- 28. WCF客戶端類名稱
- 29. 對客戶端表格使用模板
- 30. 使用客戶端對象模型
你熟悉保護關鍵字? – UnKnown
使他們受到保護。通過「客戶端」你是否指基類的對象? – sameerkn
不明。 「隱形」和「客戶」是什麼意思? – user4581301