मैं bellow इस कोड के बारे में दो सवाल है:दोस्त कार्यों
namespace A { class window; }
void f(A::window);
namespace A
{
class window
{
private:
int a;
friend void ::f(window);
};
}
void f(A::window rhs)
{
std::cout << rhs.a << std::endl;
}
1) कारण है कि मैं ऐसा करने से वैश्विक होने के लिए विंडो वर्ग के अंदर च सदस्य समारोह अर्हता प्राप्त करने की आवश्यकता है :: एफ (खिड़की)?
2) मुझे इस विशेष मामले में फ़ंक्शन f (ए :: विंडो) की पूर्ववत करने की आवश्यकता क्यों है, जबकि जब कक्षा को नामस्थान के अंदर परिभाषित नहीं किया जाता है तो फ़ंक्शन घोषित होने के बाद फ़ंक्शन घोषित किया जाना ठीक है दोस्त।
यहां एक त्वरित स्पष्टीकरण है कि कौन से दोस्ताना वर्ग http://www.cplusplus.com/doc/tutorial/inheritance/ –
@ हंस क्षमा करें, लेकिन यह मेरे प्रश्न – AlexDan
@ हंस से है, कृपया, कृपया लिंक न करें cplusplus.com - http://programmers.stackexchange.com/q/88241/36523 – Griwes