OOP Using C++ — MCQ Practice

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

📚 1915 Questions 🌐 Hindi + English ✅ Free
भाषा / Language:
1915 questions
61
EN + हिं
GB Which of the following correctly declares a variable of type 'pointer to array of 5 ints'?
IN निम्नलिखित में से कौन सा 'पॉइंटर टू ऐरे ऑफ़ 5 इनट्स' प्रकार के वेरिएबल को सही ढंग से घोषित करता है?
A
int *p[5] पूर्णांक *पी[5]
B
int (*p)[5] पूर्णांक (*पी)[5]
C
int p[5]* पूर्णांक पी[5]*
D
int& p[5] पूर्णांक&पी[5]
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) int (*p)[5] declares p as a pointer to an array of 5 ints. int *p[5] is an array of 5 int pointers.
व्याख्या (हिन्दी) int (*p)[5] p को 5 ints की सरणी के सूचक के रूप में घोषित करता है। int *p[5] 5 int पॉइंटर्स की एक सरणी है।
62
EN + हिं
GB What is the output: int x=5; cout << (x>3 ? x<10 ? 'A' : 'B' : 'C');
IN आउटपुट क्या है: int x=5; कॉउट 3? एक्स
A
A
B
B बी
C
C सी
D
65 65
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) x>3 is true, then x<10 is true, so result is 'A' (ASCII 65 printed as char 'A').
व्याख्या (हिन्दी) x>3 सत्य है, तो x
63
EN + हिं
GB What is the output: double x = 0.1 + 0.2; cout << (x == 0.3);
IN आउटपुट क्या है: डबल x = 0.1 + 0.2; अदालत
A
1 1
C
Undefined अपरिभाषित
D
Compile error संकलन त्रुटि
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Floating-point representation errors make 0.1+0.2 != 0.3 exactly; the comparison returns false (0).
व्याख्या (हिन्दी) फ़्लोटिंग-पॉइंट प्रतिनिधित्व त्रुटियाँ 0.1+0.2 != 0.3 बिल्कुल बनाती हैं; तुलना गलत (0) लौटाती है।
64
EN + हिं
GB What is 'narrowing conversion' in C++?
IN C++ में 'संकीर्ण रूपांतरण' क्या है?
A
Converting larger type to smaller type बड़े प्रकार को छोटे प्रकार में परिवर्तित करना
B
Any implicit conversion कोई भी अंतर्निहित रूपांतरण
C
Converting float to int फ्लोट को इंट में परिवर्तित करना
D
A conversion that may lose information एक रूपांतरण जिसमें जानकारी खो सकती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Narrowing conversions (like double to int) may lose information and are not allowed in list initialization {}.
व्याख्या (हिन्दी) रूपांतरणों को संक्षिप्त करने से (जैसे डबल से इंट तक) जानकारी खो सकती है और सूची आरंभीकरण {} में इसकी अनुमति नहीं है।
65
EN + हिं
GB What is the output: int a=1,b=2; cout<
IN आउटपुट क्या है: int a=1,b=2; अदालत
A
4 4
B
3 3
C
Undefined अपरिभाषित
D
Compile error संकलन त्रुटि
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) a+++b is parsed as (a++)+b = 1+2 = 3 (maximal munch). a becomes 2 after.
व्याख्या (हिन्दी) a+++b को (a++)+b = 1+2 = 3 (अधिकतम चबाना) के रूप में पार्स किया गया है। a बाद में 2 हो जाता है।
66
EN + हिं
GB What is the size of std::byte?
IN एसटीडी::बाइट का आकार क्या है?
A
1 1
B
8 8
C
Platform-dependent प्लेटफार्म पर निर्भर
D
Same as char चार के समान
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) std::byte (C++17) is defined as an enum class backed by unsigned char, so sizeof(std::byte) == sizeof(unsigned char) == 1.
व्याख्या (हिन्दी) std::byte (C++17) को unsigned char द्वारा समर्थित एक enum क्लास के रूप में परिभाषित किया गया है, इसलिए sizeof(std::byte) == sizeof(unsigned char) == 1.
67
EN + हिं
GB What is the output: int a=5,b=3; cout<<(a&b)<<' '<<(a|b)<<' '<<(a^b);
IN आउटपुट क्या है: int a=5,b=3; अदालत
A
1 7 6 1 7 6
B
3 5 6 3 5 6
C
5 3 1 5 3 1
D
0 7 6 0 7 6
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) 5=101, 3=011. AND=001=1, OR=111=7, XOR=110=6.
व्याख्या (हिन्दी) 5=101, 3=011. और=001=1, या=111=7, एक्सओआर=110=6।
68
EN + हिं
GB What does the spaceship operator <=> return in C++20?
IN C++20 में स्पेसशिप ऑपरेटर क्या लौटाता है?
A
bool बूल
B
int (-1, 0, 1) पूर्णांक (-1, 0, 1)
C
std::strong_ordering or similar std::strong_ordering या समान
D
void खालीपन
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) The <=> operator returns a comparison category type: std::strong_ordering, std::weak_ordering, or std::partial_ordering.
व्याख्या (हिन्दी) ऑपरेटर एक तुलना श्रेणी प्रकार लौटाता है: std::strong_ordering, std::weak_ordering, या std::partial_ordering।
69
EN + हिं
GB What is the output: int x=5; cout<<(x>>1)<<' '<<(x<<1);
IN आउटपुट क्या है: int x=5; cout1)
A
2 10 2 10
B
2 20 2 20
C
3 10 3 10
D
1 10 1 10
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) 5>>1 = 2 (right shift divides by 2), 5<<1 = 10 (left shift multiplies by 2).
व्याख्या (हिन्दी) 5>>1 = 2 (दाहिनी पारी 2 से विभाजित होती है), 5
70
EN + हिं
GB What is operator precedence for: a + b * c - d / e?
IN ए + बी * सी - डी / ई के लिए ऑपरेटर प्राथमिकता क्या है?
A
Left to right बाएं से दायां
B
a + (b * c) - (d / e) ए + (बी * सी) - (डी / ई)
C
(a + b) * (c - d) / e (ए + बी) * (सी - डी) / ई
D
(a + b) * c - d / e (ए + बी) * सी - डी / ई
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) * and / have higher precedence than + and -, evaluated left to right among same precedence.
व्याख्या (हिन्दी) * और / की प्राथमिकता + और - से अधिक है, उसी प्राथमिकता के बीच बाएं से दाएं मूल्यांकन किया जाता है।
71
EN + हिं
GB What is the output: int x=10; cout << (x>5 && x++>9) << ' ' << x;
IN आउटपुट क्या है: int x=10; कॉउट 5 && x++>9)
A
1 11 1 11
B
0 10 0 10
C
1 10 1 10
D
Undefined अपरिभाषित
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) x>5 is true, so right side evaluates: x++(returns 10)>9 is true, x becomes 11. Output: 1 11.
व्याख्या (हिन्दी) x>5 सत्य है, इसलिए दाहिना पक्ष मूल्यांकन करता है: x++(रिटर्न 10)>9 सत्य है, x 11 हो जाता है। आउटपुट: 1 11।
72
EN + हिं
GB What does operator-> overloading enable?
IN ऑपरेटर-> ओवरलोडिंग क्या सक्षम करती है?
A
Custom pointer dereferencing कस्टम पॉइंटर डीरेफ़रेंसिंग
B
Array access ऐरे पहुंच
C
Function call syntax फ़ंक्शन कॉल सिंटैक्स
D
Type conversion रूपांतरण टाइप करें
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Overloading -> enables smart pointer behavior — the operator should return a raw pointer or another object that has -> defined.
व्याख्या (हिन्दी) ओवरलोडिंग -> स्मार्ट पॉइंटर व्यवहार को सक्षम बनाता है - ऑपरेटर को एक कच्चा पॉइंटर या कोई अन्य ऑब्जेक्ट लौटाना चाहिए जिसमें -> परिभाषित हो।
73
EN + हिं
GB What is the output: cout << (3,5,7);
IN आउटपुट क्या है: cout
A
3 3
B
5 5
C
7 7
D
357 357
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) The comma operator evaluates left to right and returns the last value: (3,5,7) = 7.
व्याख्या (हिन्दी) अल्पविराम ऑपरेटर बाएं से दाएं मूल्यांकन करता है और अंतिम मान लौटाता है: (3,5,7) = 7।
74
EN + हिं
GB What is the result: int a=2; int b = a<<2 + 1;
IN परिणाम क्या है: int a=2; पूर्णांक बी = ए
A
9 9
B
10 10
C
16 16
D
8 8
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) + has higher precedence than <<, so a<<(2+1) = 2<<3 = 16.
व्याख्या (हिन्दी) + की तुलना में अधिक प्राथमिकता है
75
EN + हिं
GB What is short-circuit evaluation in C++?
IN C++ में शॉर्ट-सर्किट मूल्यांकन क्या है?
A
Compiler skips dead code कंपाइलर डेड कोड को छोड़ देता है
B
&& and || skip right operand if result determined from left && और || यदि परिणाम बाएँ से निर्धारित होता है तो दाएँ ऑपरेंड को छोड़ें
C
Only applies to bitwise operators केवल बिटवाइज़ ऑपरेटरों पर लागू होता है
D
Template specialization optimization टेम्पलेट विशेषज्ञता अनुकूलन
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) In &&, if left is false, right is not evaluated. In ||, if left is true, right is not evaluated.
व्याख्या (हिन्दी) && में, यदि बायाँ असत्य है, तो दाएँ का मूल्यांकन नहीं किया जाता है। || में, यदि बायाँ सत्य है, तो दाएँ का मूल्यांकन नहीं किया जाता है।
61–75 of 1915