MCQ
सी प्लस प्लस और जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग MCQ - उत्तर सहित अभ्यास प्रश्न
RAS/RPSC तैयारी के लिए सी प्लस प्लस और जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के 45 प्रश्न हल करें।
अभ्यास प्रश्न
प्र.1जावा में चेक्ड एक्सेप्शन के बारे में कौन-सा कथन सही है?
जावा में चेक्ड और अनचेक्ड एक्सेप्शन अलग-अलग माने जाते हैं। यदि किसी मेथड से चेक्ड एक्सेप्शन उत्पन्न हो सकता है, तो मेथड को उसे उचित कैच क्लॉज में संभालना होगा या थ्रोज़ क्लॉज में घोषित करना होगा, ताकि उसे कॉल करने वाले को यह ज़िम्मेदारी साफ़ दिखाई दे। यह नियम फ़ाइलों के साथ काम करते समय खास तौर पर लागू होता है, क्योंकि इनपुट-आउटपुट से जुड़े मेथड अक्सर चेक्ड एक्सेप्शन घोषित करते हैं।
प्र.2C++ फाइल हैंडलिंग में, जब उसी फाइल स्ट्रीम ऑब्जेक्ट से इनपुट और आउटपुट दोनों ऑपरेशन करवाने हों, तो कौन-सी क्लास सबसे सीधे उपयुक्त है?
C++ की स्ट्रीम लाइब्रेरी सामान्य फाइल-स्ट्रीम भूमिकाओं को अलग करती है: इनपुट के लिए ifstream, आउटपुट के लिए ofstream और ऐसे फाइल स्ट्रीम के लिए fstream जो ओपन मोड के अनुसार इनपुट और आउटपुट दोनों संभाल सकते हैं। stringstream भी स्ट्रीम है, लेकिन वह फाइल के बजाय मेमोरी में रखे स्ट्रिंग बफर का उपयोग करती है।
प्र.3C++ में बेस क्लास का पॉइंटर डिराइव्ड क्लास के ऑब्जेक्ट की ओर इशारा कर रहा है। यदि उसी पॉइंटर से फ़ंक्शन कॉल होने पर रन टाइम पर डिराइव्ड क्लास वाला कार्यान्वयन चलना हो, तो कौन-सी घोषणा ज़रूरी है?
C++ में बेस पॉइंटर या रेफ़रेंस से मिलने वाला रन टाइम पॉलीमॉर्फिज़्म वर्चुअल फ़ंक्शन पर निर्भर करता है। जब बेस क्लास किसी मेंबर फ़ंक्शन को वर्चुअल घोषित करती है और डिराइव्ड क्लास उसी सिग्नेचर का अपना रूप देती है, तो कॉल ऑब्जेक्ट के डाइनैमिक प्रकार के अनुसार भेजी जाती है। स्टोरेज अवधि, डेटा मेंबर की पहुँच या ओवरलोड सेट बदलने से डाइनैमिक बाइंडिंग नहीं बनती।
प्र.4सी प्लस प्लस की किसी बेस क्लास में कम से कम एक प्योर वर्चुअल फ़ंक्शन है। इस घोषणा से कौन-सा निष्कर्ष निकलता है?
प्योर वर्चुअल फ़ंक्शन सी प्लस प्लस क्लास में किसी ऐब्स्ट्रैक्ट ऑपरेशन को दर्शाता है। ऐसी क्लास का ऑब्जेक्ट सीधे नहीं बनाया जा सकता। किसी डिराइव्ड क्लास का ऑब्जेक्ट बनाने के लिए उसे विरासत में मिले सभी प्योर वर्चुअल फ़ंक्शन का कार्यान्वयन देना होता है। सी प्लस प्लस में एक्सेस के नियम बदले बिना या जावा इंटरफ़ेस का उपयोग किए बिना इंटरफ़ेस जैसा व्यवहार दर्शाने का यह एक प्रमुख तरीका है।
प्र.5C++ की Account क्लास में balance नाम का प्राइवेट डेटा मेंबर है। क्लास के बाहर से balance में नियंत्रित बदलाव की अनुमति देने का सबसे उचित ऑब्जेक्ट-ओरिएंटेड तरीका कौन-सा है?
एनकैप्सुलेशन में ऑब्जेक्ट का आंतरिक निरूपण एक पब्लिक इंटरफ़ेस के पीछे रखा जाता है। balance जैसे फ़ील्ड के लिए क्लास को प्राइवेट स्टोरेज रखना चाहिए और जमा या निकासी जैसे कार्य देने चाहिए जो राशि जाँचकर अवस्था बदलें। बात केवल डेटा छिपाने की नहीं है; उद्देश्य क्लास के नियमों को सुरक्षित रखते हुए उपयोगी कार्य उपलब्ध कराना है।
आपने 45 में से 5 नमूना प्रश्न देख लिए हैं
सी प्लस प्लस और जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग पर अनलिमिटेड अभ्यास RAS टेस्ट सीरीज़ + प्रैक्टिस पैक या गेट पास में मिलता है।
और प्रश्न
6C++ में बहुरूपी डिलीशन के लिए बनाए गए आधार वर्ग में सामान्यतः वर्चुअल डेस्ट्रक्टर होना क्यों ज़रूरी माना जाता है?
7Java Swing के किसी बटन पर क्लिक होते ही कोड चलना चाहिए। सामान्य इवेंट-हैंडलिंग मॉडल के अनुसार सबसे सही तरीका कौन-सा है?
8जावा में क्लास की विरासत और इंटरफ़ेस के कार्यान्वयन के बीच अंतर को कौन-सा कथन सही ढंग से बताता है?
9C++ में बेस-क्लास पॉइंटर से कॉल करने पर रन टाइम पर डिराइव्ड-क्लास वाला इम्प्लीमेंटेशन चलने के लिए कौन-सी शर्त ज़रूरी है?
10जावा में क्लासों के बीच इनहेरिटेंस को सही ढंग से कौन-सा कथन बताता है?
11class Printer : public Device { ... }; घोषणा में C++ की कौन-सी इनहेरिटेंस दिखाई गई है?
12जावा फ़ाइल हैंडलिंग में FileInputStream या BufferedReader जैसे ऑब्जेक्ट के लिए try-with-resources को क्यों प्राथमिकता दी जाती है?
13जावा इवेंट हैंडलिंग में लिस्नर ऑब्जेक्ट की मुख्य भूमिका क्या होती है?
14C++ प्रोग्राम में क्लास Shape का मेंबर फ़ंक्शन draw() वर्चुअल है। क्लास Circle, Shape से सार्वजनिक रूप से व्युत्पन्न है और draw() को ओवरराइड करती है। यदि Shape* p किसी Circle ऑब्जेक्ट की ओर संकेत करता है और p->draw() चलाया जाता है, तो इस कॉल का सबसे सही वर्णन कौन-सा है?
15जावा में try-catch से जुड़े finally ब्लॉक का मुख्य उपयोग क्या है?
