MCQ
सी प्लस प्लस और जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग MCQ - उत्तर सहित अभ्यास प्रश्न
RAS/RPSC तैयारी के लिए सी प्लस प्लस और जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के 45 प्रश्न हल करें।
अभ्यास प्रश्न
प्र.1जावा के चेक्ड एक्सेप्शन के बारे में कौन-सा कथन सही है?
जावा चेक्ड एक्सेप्शन और अनचेक्ड एक्सेप्शन में अंतर करता है। कोई मेथड यदि चेक्ड एक्सेप्शन फेंक सकता है, तो उसे उपयुक्त catch क्लॉज से संभालना होगा या throws क्लॉज से घोषित करना होगा, ताकि कॉलर को यह जिम्मेदारी साफ दिखे। यह नियम फाइल हैंडलिंग में खास तौर पर काम आता है, क्योंकि इनपुट-आउटपुट ऑपरेशन अक्सर चेक्ड एक्सेप्शन घोषित करते हैं।
प्र.2C++ फाइल हैंडलिंग में, जब उसी फाइल स्ट्रीम ऑब्जेक्ट से इनपुट और आउटपुट दोनों ऑपरेशन करवाने हों, तो कौन-सी क्लास सबसे सीधे उपयुक्त है?
C++ की स्ट्रीम लाइब्रेरी सामान्य फाइल-स्ट्रीम भूमिकाओं को अलग करती है: इनपुट के लिए ifstream, आउटपुट के लिए ofstream और ऐसे फाइल स्ट्रीम के लिए fstream जो ओपन मोड के अनुसार इनपुट और आउटपुट दोनों संभाल सकते हैं। stringstream भी स्ट्रीम है, लेकिन वह फाइल के बजाय मेमोरी में रखे स्ट्रिंग बफर का उपयोग करती है।
प्र.3C++ में बेस क्लास का पॉइंटर डिराइव्ड क्लास के ऑब्जेक्ट की ओर इशारा कर रहा है। यदि उसी पॉइंटर से फ़ंक्शन कॉल होने पर रन टाइम पर डिराइव्ड क्लास वाला कार्यान्वयन चलना हो, तो कौन-सी घोषणा ज़रूरी है?
C++ में बेस पॉइंटर या रेफ़रेंस से मिलने वाला रन टाइम पॉलीमॉर्फिज़्म वर्चुअल फ़ंक्शन पर निर्भर करता है। जब बेस क्लास किसी मेंबर फ़ंक्शन को वर्चुअल घोषित करती है और डिराइव्ड क्लास उसी सिग्नेचर का अपना रूप देती है, तो कॉल ऑब्जेक्ट के डाइनैमिक प्रकार के अनुसार भेजी जाती है। स्टोरेज अवधि, डेटा मेंबर की पहुँच या ओवरलोड सेट बदलने से डाइनैमिक बाइंडिंग नहीं बनती।
प्र.4C++ की किसी बेस क्लास में कम से कम एक प्योर वर्चुअल फ़ंक्शन है। इस घोषणा से कौन-सा निष्कर्ष निकलता है?
प्योर वर्चुअल फ़ंक्शन C++ क्लास में एक ऐब्स्ट्रैक्ट ऑपरेशन दिखाता है। ऐसी क्लास का ऑब्जेक्ट सीधे नहीं बनाया जा सकता, और जो डिराइव्ड क्लास ठोस बननी है उसे विरासत में मिले सभी प्योर वर्चुअल फ़ंक्शन के अंतिम कार्यान्वयन देने होते हैं। C++ में एक्सेस नियम बदले बिना या Java इंटरफ़ेस को जोड़े बिना इंटरफ़ेस-जैसा व्यवहार दिखाने का यह मुख्य तरीका है।
प्र.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 को publicly inherit करती है और draw() को override करती है। अगर Shape* p किसी Circle ऑब्जेक्ट को पॉइंट कर रहा है और p->draw() चलाया जाए, तो इस कॉल के बारे में सबसे सही कथन कौन-सा है?
15जावा में try-catch से जुड़े finally ब्लॉक का मुख्य उपयोग क्या है?
