Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में डॉट ऑपरेटर क्या है?


डॉट और एरो ऑपरेटर दोनों का उपयोग C++ में किसी वर्ग के सदस्यों तक पहुंचने के लिए किया जाता है। वे बस विभिन्न परिदृश्यों में उपयोग किए जाते हैं। सी ++ में, वर्ग, संरचना, या संघ के रूप में घोषित प्रकारों को "वर्ग प्रकार" माना जाता है। तो निम्नलिखित उन दोनों को संदर्भित करता है।

  • a.b का उपयोग केवल तभी किया जाता है जब b वस्तु का सदस्य हो (या किसी वस्तु का संदर्भ[1]) a. तो a.b के लिए, a हमेशा एक वर्ग की एक वास्तविक वस्तु (या किसी वस्तु का संदर्भ) होगा।
  • a →b अनिवार्य रूप से (*a).b के लिए एक शॉर्टहैंड नोटेशन है, अर्थात, यदि a किसी ऑब्जेक्ट का पॉइंटर है, तो a →b उस ऑब्जेक्ट के गुण b तक पहुंच रहा है जो इंगित करता है।

ध्यान दें कि . अतिभारित नहीं है। → एक ओवरलोडेबल ऑपरेटर है, इसलिए हम अपने स्वयं के फ़ंक्शन (ऑपरेटर → ()) को परिभाषित कर सकते हैं जिसे इस ऑपरेटर का उपयोग होने पर कॉल किया जाना चाहिए। इसलिए यदि a किसी वर्ग का ऑब्जेक्ट है जो ऑपरेटर → को अधिभारित करता है (इस तरह के सामान्य प्रकार स्मार्ट पॉइंटर्स और इटरेटर हैं), तो अर्थ वह है जो क्लास डिज़ाइनर ने लागू किया।


[1] संदर्भ, शब्दार्थ, वस्तुओं के उपनाम हैं, इसलिए मुझे #3 में भी "या एक सूचक का संदर्भ" जोड़ना चाहिए था। हालांकि, मैंने सोचा कि यह मददगार से ज्यादा भ्रमित करने वाला होगा क्योंकि पॉइंटर्स (T*&) के संदर्भ शायद ही कभी उपयोग किए जाते हैं।

उदाहरण

#include<iostream>
class A {
   public: int b;
   A() { b = 5; }
};
int main() {
   A a = A();
   A* x = &a;
   std::cout << "a.b = " << a.b << "\n";
   std::cout << "x->b = " << x->b << "\n";
   return 0;
}

आउटपुट

यह आउटपुट देगा -

5
5

  1. C++ में टर्नरी ऑपरेटर (? X :Y) क्या है?

    सशर्त ऑपरेटर (? :) एक टर्नरी ऑपरेटर है (इसमें तीन ऑपरेंड लगते हैं)। सशर्त ऑपरेटर निम्नानुसार काम करता है - पहला ऑपरेंड पूरी तरह से बूल में बदल जाता है। इसका मूल्यांकन किया जाता है और जारी रखने से पहले सभी दुष्प्रभावों को पूरा किया जाता है। यदि पहला ऑपरेंड सत्य (1) का मूल्यांकन करता है, तो दूसरे ऑपर

  1. C++ में sizeof ऑपरेटर क्या है?

    Sizeof एक कीवर्ड है, लेकिन यह एक कंपाइल-टाइम ऑपरेटर है जो एक वेरिएबल या डेटा प्रकार के आकार को बाइट्स में निर्धारित करता है। sizeof ऑपरेटर का उपयोग कक्षाओं, संरचनाओं, यूनियनों और किसी अन्य उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार के आकार को प्राप्त करने के लिए किया जा सकता है। sizeof का उपयोग करने का

  1. C++ में एक्सेस मॉडिफायर क्या हैं?

    डेटा छिपाना ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की महत्वपूर्ण विशेषताओं में से एक है जो किसी प्रोग्राम के कार्यों को एक वर्ग प्रकार के आंतरिक प्रतिनिधित्व को सीधे एक्सेस करने से रोकता है। क्लास के सदस्यों के लिए एक्सेस प्रतिबंध लेबल किए गए एक्सेस संशोधक द्वारा निर्दिष्ट किया गया है:क्लास बॉडी के भीतर सार