2010-06-23 4 views
7

इसके अलावा, क्या इससे कोई फर्क नहीं पड़ता कि कक्षा में आप मित्र घोषित करते हैं? क्या इससे कोई फर्क पड़ता है कि आप मित्र वर्ग या मित्र फ़ंक्शन जोड़ते हैं?सी ++ में, क्लास में एक दोस्त जोड़ना अपनी मेमोरी लेआउट बदलता है?

+1

ध्यान दें कि तकनीकी रूप से, सी ++ मानक गैर पीओडी प्रकारों के लिए मेमोरी लेआउट को परिभाषित नहीं करता है। –

उत्तर

18

नहीं, ऐसा नहीं है। यह पूरी तरह संकलित समय की बात है: एक्सेस मॉडिफायर के समान ही।

तथ्य यह है कि आप कक्षा अंदर घोषणा लिखने के बावजूद, तुम सच में एक दोस्त एक वर्ग में शामिल न करें। आप मूल रूप से कक्षा के मित्र के रूप में कुछ और घोषित करेंगे और बस इसे कक्षा के निजी सदस्यों तक पहुंचने की अनुमति दें, जैसे कि वे सार्वजनिक थे।

1

जैसा कि पहले से ही उल्लेख किया गया है, यह पूरी तरह से एक संकलन-समय तंत्र है।

संबंधित मुद्दे