回答
啊
#if !defined(FILE_A_H)
#define FILE_A_H
template<class T>
class A
{
template<class> friend class B;
// ...
};
#endif
了Bh
#if !defined(FILE_B_H)
#define FILE_B_H
template<class T> class B { /* ... */ };
#endif
請注意,如果是在朋友聲明中使用的類的名字尚未宣佈,但前進的聲明現貨(見http://en.cppreference.com/w/cpp/language/friend)。
進一步瞭解詳細:
非常感謝! –
我試過了你的想法。但它未能執行,並且編譯器給出錯誤「類B不能訪問類A的私有成員」。 –
@LinXuelei [Here](http://ideone.com/ouRJUC)有一個簡單的例子(作爲朋友,'B'可以訪問'A'的私有成員)。你可以發佈你的代碼,並提供更多的細節? – manlio
- 1. 類模板和朋友類
- 2. 超類的模板朋友
- 3. C++如何將模板應用於模板類的子/朋友?
- 4. 朋友和模板類
- 5. 將模板參數作爲模板類的朋友
- 6. 模板類中的朋友函數
- 7. 具有相同類型的模板類的模板功能的朋友
- 8. C++模板:部分模板規範和朋友類
- 9. 朋友&&模板
- 10. 模板朋友
- 11. PIMPL方法和模板類的朋友
- 12. 模板類層次的朋友繼承
- 13. 朋友專門的模板類(C++)
- 14. 模板的朋友和嵌套類
- 15. 模板類的模板朋友的問題
- 16. 模板類與enable_if模板運算符的朋友
- 17. Extern模板類和非模板的朋友功能
- 18. 非模板功能模板類的朋友
- 19. 益友所有模板類的其它模板類
- 20. 在C++中聲明一個類模板作爲類模板的朋友
- 21. 聲明類模板爲朋友
- 22. 重載朋友operator <<模板類
- 23. 模板類C++朋友函數
- 24. 朋友mixin模板?
- 25. 模板和朋友
- 26. 如何使用由「模板使用」定義的模板(別名)類的朋友?
- 27. 聲明一個可變參數模板類簡單的模板類的朋友
- 28. 模板函數在類模板中的明確的朋友專業化
- 29. 如何將模板好友函數聲明爲模板類?
- 30. 如何使用模板類的朋友關鍵字
你需要更具體。你是否打算每個例子'A '成爲每個「B」的朋友?或者你只打算'A '是'B '的朋友,但是'A '不是(對於不同的'T'和'U')?你看,模板不是任何東西的朋友。模板的實例化。 –
Peter