मैं अपने वर्गों में से एक में ऑपरेटर < < अधिभारित करना चाहता हूं। हस्ताक्षर इस प्रकार है:सी ++ - क्या हेडर फाइल में मित्र कार्यों को परिभाषित किया जाना चाहिए?
friend std::ostream& operator<<(std::ostream& os, const Annuaire& obj)
जब मैं सीपीपी में परिभाषित फ़ाइल यह कहना है कि ऑपरेटर < < वास्तव में 1 तर्क लेता हालांकि, जब मैं ज में यह परिभाषित करने की कोशिश, उसे कंपाइल /ठीक काम करता है।
std::ostream& Annuaire::operator<<(std::ostream& os, const Annuaire& obj){ // ... }
यह हेडर फाइल में परिभाषित किया जा करने की जरूरत के दोस्त कार्यों से कोई लेना देना है:
यह मैं इसे कैसे .cpp फ़ाइल में परिभाषित है?
आप 'पाने के लिए ostream' और' istream' सही है ... –
हाँ, अपने दोस्त IStream है और सीपीपी में से एक है, ostream यह है कि अगर जानबूझकर है आप 2 दोस्त घोषणाओं और 2 परिभाषाएँ की आवश्यकता होगी है यदि नहीं, तो –
स्ट्रीम में या बाहर स्ट्रीम करना चाहते हैं, तो एक या दूसरे को ठीक करें, धन्यवाद, यह एक कॉपी-पेस्ट गलती थी। संलग्न नामस्थान पर एक नोट जोड़ने के लिए – Pacane