c++ - Consistency in placing operator functions -


मेरे पास एक ऐसा वर्ग है:

  class A {... निजी कार्य, चर, आदि ... सार्वजनिक: ... कुछ सार्वजनिक फ़ंक्शंस और चर ... एक ऑपरेटर * (डबल); एक ऑपरेटर / (डबल); एक ऑपरेटर * (ए); ... और बहुत से अन्य ऑपरेटरों}  

हालांकि, मैं भी ऐसा करने की अनुमति के बजाय 2 * A की तरह सामान करने में सक्षम होना चाहता हूं < कोड> ए * 2 , और इसलिए मुझे कक्षा के बाहर की तरह फ़ंक्शंस की आवश्यकता होगी:

<प्री> ए ऑपरेटर * (डबल, ए); एक ऑपरेटर / (डबल, ए); ... आदि ...

क्या मैं इन सभी ऑपरेटरों को कक्षा के बाहर स्थिरता के लिए डाल देना चाहिए, या मुझे आधे अंदर और आधा बाहर रखना चाहिए?

< P>

तो आप क्या कह रहे हैं, क्योंकि आपको कुछ ऑपरेटरों को रखना चाहिए (जिनके पास A नहीं है क्लास के बाहर पहला परम), शायद आपको उन सभी को वहां रखना चाहिए ताकि लोगों को पता चल जाए कि उन्हें कहाँ ढूंढना है? मुझे ऐसा नहीं लगता मैं उम्मीद करता हूं कि यदि कक्षा में ऑपरेटर सभी संभव हो तो कक्षा में। निश्चित रूप से एक ही फाइल में "बाहर" वाले को रखें, जो कि मदद करेगा और अगर बाहरी लोगों को निजी सदस्य चर का उपयोग करने की आवश्यकता होती है, तो मित्र लाइन जोड़ना उन ऑपरेटरों के लिए फ़ाइल में कहीं और देखने का एक बड़ा संकेत है।

क्या मैं अभी तक मित्र लाइनों को शामिल करने के लिए जाना चाहूंगा, भले ही ऑपरेटरों का मेरा कार्यान्वयन वास्तव में सार्वजनिक गेटर्स और सेटर्स के साथ किया जा सकता है? मुझे लगता है कि मैं होता मैं उन ऑपरेटरों के बारे में सोचता हूं क्योंकि वास्तव में कक्षा का हिस्सा होता है यह सिर्फ यही है कि भाषा वाक्य रचना के लिए उन्हें मुफ्त कार्यों की आवश्यकता है इसलिए आम तौर पर मैं मित्र का उपयोग करता हूं और मैं उन्हें लिखता हूं जैसे कि वह सदस्य कार्य थे, गेटर्स और सेटर्स का उपयोग नहीं करते यह एक सुखद पक्ष प्रभाव है कि जिसके परिणामस्वरूप मित्र विवरणों की आवश्यकता होती है, उन सभी को कक्षा की परिभाषा में सूचीबद्ध किया जाएगा।


Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -