OOP Using C++ — MCQ Practice

Hindi aur English dono mein practice karo — click karo answer check karne ke liye

📚 163 Questions 🌐 Hindi + English ✅ Free
भाषा / Language:
163 questions
16
EN + हिं
GB What does the 'delete' operator do when called on a null pointer?
IN शून्य पॉइंटर पर कॉल करने पर 'डिलीट' ऑपरेटर क्या करता है?
A
Undefined behavior अपरिभाषित व्यवहार
B
Segfault सेगफॉल्ट
C
Nothing (safe) कुछ भी नहीं (सुरक्षित)
D
Throws exception अपवाद फेंकता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) The C++ standard guarantees that delete on a null pointer is a no-op; it is safe to delete nullptr.
व्याख्या (हिन्दी) C++ मानक गारंटी देता है कि शून्य पॉइंटर पर डिलीट करना नो-ऑप है; nullptr को हटाना सुरक्षित है।
17
EN + हिं
GB What is operator[] overloaded for in std::vector?
IN std::vector में ऑपरेटर[] ओवरलोडेड क्या है?
A
Bounds-checked element access सीमा-जांचित तत्व पहुंच
B
Unchecked element access by index सूचकांक द्वारा अनियंत्रित तत्व पहुंच
C
Slice operation स्लाइस ऑपरेशन
D
Iterator creation पुनरावर्तक निर्माण
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) std::vector::operator[] provides unchecked access; use .at() for bounds-checked access.
व्याख्या (हिन्दी) std::vector::operator[] अनियंत्रित पहुंच प्रदान करता है; सीमा-जांचित पहुंच के लिए .at() का उपयोग करें।
18
EN + हिं
GB What is the output: int x=0; cout<<(x=5)<<' '<<(x==5);
IN आउटपुट क्या है: int x=0; अदालत
A
5 1 5 1
B
0 0 0 0
C
5 0 5 0
D
Undefined अपरिभाषित
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) (x=5) assigns 5 to x and returns 5. Then x==5 is true=1. Output: 5 1.
व्याख्या (हिन्दी) (x=5) x को 5 निर्दिष्ट करता है और 5 लौटाता है। तब x==5 सत्य=1 है। आउटपुट: 5 1.
19
EN + हिं
GB What is the type of: sizeof expression?
IN अभिव्यक्ति का आकार क्या है?
A
int int यहाँ
B
unsigned int अहस्ताक्षरित int
C
size_t आकार_t
D
long लंबा
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) sizeof returns a value of type std::size_t, which is typically an unsigned integer type.
व्याख्या (हिन्दी) sizeof प्रकार std::size_t का मान लौटाता है, जो आम तौर पर एक अहस्ताक्षरित पूर्णांक प्रकार होता है।
20
EN + हिं
GB What is the output: int a=4,b=2; cout<<(a^=b,b^=a,a^=b)<<' '<
IN आउटपुट क्या है: int a=4,b=2; अदालत
A
2 2 4 2 2 4
B
4 2 4 4 2 4
C
Undefined अपरिभाषित
D
2 4 2 2 4 2
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) XOR swap: a^=b(a=6), b^=a(b=4), a^=b(a=2). Final: a=2, b=4. Comma returns last: a=2.
व्याख्या (हिन्दी) XOR स्वैप: a^=b(a=6), b^=a(b=4), a^=b(a=2)। अंतिम: a=2, b=4. अंत में अल्पविराम आता है: a=2.
21
EN + हिं
GB What is the output: cout << (1 << 0) << ' ' << (1 << 1) << ' ' << (1 << 4);
IN आउटपुट क्या है: cout
A
1 2 16 1 2 16
B
0 1 4 0 1 4
C
1 2 8 1 2 8
D
1 4 16 1 4 16
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) 1<<0=1, 1<<1=2, 1<<4=16.
व्याख्या (हिन्दी) 1
22
EN + हिं
GB What is the output: bool a=true,b=false; cout<<(a&&b)<<(a||b)<<(!a);
IN आउटपुट क्या है: bool a=true,b=false; अदालत
A
010 010
B
011 011
C
110 110
D
101 101
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) a&&b=false=0, a||b=true=1, !a=false=0. Output: 010.
व्याख्या (हिन्दी) a&&b=false=0, a||b=true=1, !a=false=0. आउटपुट: 010.
23
EN + हिं
GB What does the :: operator do when used without a left-hand side?
IN बायीं ओर के बिना उपयोग किये जाने पर :: ऑपरेटर क्या करता है?
A
Accesses global namespace वैश्विक नामस्थान तक पहुँचता है
B
Causes compile error संकलन त्रुटि का कारण बनता है
C
Accesses current class वर्तमान कक्षा तक पहुँचता है
D
Accesses parent namespace पैरेंट नेमस्पेस तक पहुँचता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) ::name accesses name in the global namespace, even if a local/class scope shadow exists.
व्याख्या (हिन्दी) ::नाम वैश्विक नामस्थान में नाम तक पहुंचता है, भले ही स्थानीय/वर्ग स्कोप छाया मौजूद हो।
24
EN + हिं
GB What is the output: int x=5; cout<
IN आउटपुट क्या है: int x=5; अदालत
A
556 556
B
566 566
C
Undefined behavior अपरिभाषित व्यवहार
D
555 555
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Pre-C++17, evaluating x, x++, and x in the same expression without sequencing is undefined behavior.
व्याख्या (हिन्दी) प्री-सी++17, अनुक्रमण के बिना एक ही अभिव्यक्ति में x, x++ और x का मूल्यांकन करना अपरिभाषित व्यवहार है।
25
EN + हिं
GB What is the output: int a=10; cout<<(a>5)+(a<20)+(a==10);
IN आउटपुट क्या है: int a=10; अदालत
A
1 1
B
2 2
C
3 3
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) All three comparisons are true (=1 each): 1+1+1=3.
व्याख्या (हिन्दी) तीनों तुलनाएँ सत्य हैं (=1 प्रत्येक): 1+1+1=3।
26
EN + हिं
GB Which operator is used for pointer-to-member access?
IN पॉइंटर-टू-मेंबर एक्सेस के लिए किस ऑपरेटर का उपयोग किया जाता है?
A
-> ->
B
.* .*
C
:: ::
D
& &
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) .* and ->* are pointer-to-member access operators in C++.
व्याख्या (हिन्दी) .* और ->* C++ में पॉइंटर-टू-मेंबर एक्सेस ऑपरेटर हैं।
27
EN + हिं
GB What is the result: int x = 5; x = x > 3 ? x + 1 : x - 1; cout << x;
IN परिणाम क्या है: int x = 5; एक्स = एक्स > 3 ? एक्स + 1 : एक्स - 1; अदालत
A
4 4
B
5 5
C
6 6
D
7 7
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) x>3 is true, so x = x+1 = 6.
व्याख्या (हिन्दी) x>3 सत्य है, इसलिए x = x+1 = 6.
28
EN + हिं
GB What is the output: int a = 5, b = 10; cout << (a < b ? a : b) * 2;
IN आउटपुट क्या है: int a = 5, b = 10; अदालत
A
10 10
B
20 20
C
5 5
D
15 15
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) a
व्याख्या (हिन्दी)
29
EN + हिं
GB What is the output: cout << 10/3*3;
IN आउटपुट क्या है: cout
A
10 10
B
9 9
C
3 3
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Left to right: 10/3=3 (integer), 3*3=9.
व्याख्या (हिन्दी) बाएँ से दाएँ: 10/3=3 (पूर्णांक), 3*3=9।
30
EN + हिं
GB What does overloading operator= return by convention?
IN ओवरलोडिंग ऑपरेटर = कन्वेंशन द्वारा क्या लौटाता है?
A
void खालीपन
B
bool बूल
C
*this (reference to self) *यह (स्वयं का संदर्भ)
D
const reference स्थिरांक संदर्भ
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) By convention, copy/move assignment operators return a reference to *this to enable chaining: a = b = c.
व्याख्या (हिन्दी) परंपरा के अनुसार, कॉपी/मूव असाइनमेंट ऑपरेटर चेनिंग को सक्षम करने के लिए *इस का संदर्भ लौटाते हैं: ए = बी = सी।
16–30 of 163