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
46
EN + हिं
GB What is the size of: struct { char a; int b; char c; }?
IN इसका आकार क्या है: struct { char a; पूर्णांक बी; चार सी; }?
A
6 bytes 6 बाइट्स
B
12 bytes 12 बाइट्स
C
Implementation-defined due to padding पैडिंग के कारण कार्यान्वयन-परिभाषित
D
8 bytes on most platforms अधिकांश प्लेटफ़ॉर्म पर 8 बाइट्स
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Padding is inserted for alignment; on most 32-bit/64-bit platforms this struct is 12 bytes (1+3pad+4+1+3pad), but it is implementation-defined.
व्याख्या (हिन्दी) संरेखण के लिए पैडिंग डाली गई है; on most 32-bit/64-bit platforms this struct is 12 bytes (1+3pad+4+1+3pad), but it is implementation-defined.
47
EN + हिं
GB Which of these is NOT an integer type in C++?
IN इनमें से कौन सा C++ में पूर्णांक प्रकार नहीं है?
A
bool बूल
B
wchar_t wchar_t
C
float तैरना
D
char16_t char16_t
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) float is a floating-point type. bool, wchar_t, and char16_t are all integer types in C++.
व्याख्या (हिन्दी) फ्लोट एक फ्लोटिंग-पॉइंट प्रकार है। बूल, wchar_t, और char16_t सभी C++ में पूर्णांक प्रकार हैं।
48
EN + हिं
GB What is the output: int x=10; int &r=x; r=20; cout<
IN आउटपुट क्या है: int x=10; int &r=x; आर=20; अदालत
A
10 10
B
20 20
C
Undefined अपरिभाषित
D
Compile error संकलन त्रुटि
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) r is a reference to x. Assigning r=20 changes x to 20.
व्याख्या (हिन्दी) r, x का संदर्भ है। r=20 निर्दिष्ट करने से x 20 में बदल जाता है।
49
EN + हिं
GB What is 'structured binding' introduced in C++17?
IN C++17 में प्रस्तुत 'संरचित बाइंडिंग' क्या है?
A
Binding a struct to memory address किसी संरचना को मेमोरी एड्रेस से बाइंड करना
B
Decomposing an aggregate into named variables किसी समुच्चय को नामित चरों में विघटित करना
C
Binding references to struct members संरचना सदस्यों के लिए बाध्यकारी संदर्भ
D
Pointer to struct member संरचना सदस्य के लिए सूचक
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) auto [a,b] = pair; decomposes a pair/tuple/array/struct into individual named variables.
व्याख्या (हिन्दी) ऑटो [ए,बी] = जोड़ी; एक जोड़ी/टुपल/सरणी/संरचना को अलग-अलग नामित चर में विघटित करता है।
50
EN + हिं
GB What is the output: int a=5; int b=a; b=10; cout<
IN आउटपुट क्या है: int a=5; int b=a; बी=10; अदालत
A
10 10
B
5 5
C
Undefined अपरिभाषित
D
Compile error संकलन त्रुटि
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) b is a copy of a, not a reference. Changing b does not affect a.
व्याख्या (हिन्दी) b, a की प्रतिलिपि है, संदर्भ नहीं। b बदलने से a पर कोई प्रभाव नहीं पड़ता।
51
EN + हिं
GB Which storage class specifier makes a local variable persist between function calls?
IN कौन सा स्टोरेज क्लास स्पेसिफायर फ़ंक्शन कॉल के बीच स्थानीय वैरिएबल को बनाए रखता है?
A
auto ऑटो
B
register पंजीकरण करवाना
C
static स्थिर
D
extern बाहरी
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) static local variables are initialized once and retain their value between function calls.
व्याख्या (हिन्दी) स्थैतिक स्थानीय चर को एक बार प्रारंभ किया जाता है और फ़ंक्शन कॉल के बीच उनका मान बनाए रखा जाता है।
52
EN + हिं
GB What is the output: int x=1; cout<<(x<<31);
IN आउटपुट क्या है: int x=1; अदालत
A
2147483648 2147483648
B
INT_MIN INT_MIN
C
Undefined behavior अपरिभाषित व्यवहार
D
-1 -1
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Left-shifting 1 into the sign bit of a signed integer is undefined behavior in C++ (prior to C++20).
व्याख्या (हिन्दी) किसी हस्ताक्षरित पूर्णांक के साइन बिट में 1 को लेफ्ट-शिफ्ट करना C++ (C++20 से पहले) में अपरिभाषित व्यवहार है।
53
EN + हिं
GB What is the difference between int* const p and const int* p?
IN int* const p और const int* p के बीच क्या अंतर है?
A
No difference कोई फर्क नहीं
B
int* const: pointer is const; const int*: pointee is const int* स्थिरांक: सूचक स्थिरांक है; स्थिरांक int*: पॉइंटी स्थिरांक है
C
int* const: pointee is const; const int*: pointer is const int* स्थिरांक: पॉइंटी स्थिरांक है; स्थिरांक int*: सूचक स्थिरांक है
D
Both are compile errors दोनों संकलन त्रुटियाँ हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) int* const p — the pointer itself is const (can't reassign p). const int* p — the pointed-to value is const (can't modify *p).
व्याख्या (हिन्दी) int* const p - सूचक स्वयं स्थिरांक है (p को पुन: असाइन नहीं किया जा सकता)। const int* p - पॉइंट-टू मान स्थिरांक है (*p को संशोधित नहीं किया जा सकता)।
54
EN + हिं
GB What is the output: bool b = true; cout << b + b;
IN आउटपुट क्या है: bool b = true; अदालत
A
truetrue सच सच
B
2 2
C
1 1
D
Compile error संकलन त्रुटि
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) bool is promoted to int in arithmetic: true=1, so 1+1=2.
व्याख्या (हिन्दी) अंकगणित में बूल को int में पदोन्नत किया गया है: true=1, इसलिए 1+1=2।
55
EN + हिं
GB What is the value of: int x = 'a'; cout << x;
IN इसका मान क्या है: int x = 'a'; अदालत
A
a
B
97 97
C
1 1
D
Compile error संकलन त्रुटि
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) The ASCII value of 'a' is 97. Assigning char to int stores its numeric value; cout<
व्याख्या (हिन्दी) 'ए' का ASCII मान 97 है। char को int में निर्दिष्ट करना इसके संख्यात्मक मान को संग्रहीत करता है; अदालत
56
EN + हिं
GB What does 'register' keyword do in modern C++?
IN आधुनिक C++ में 'रजिस्टर' कीवर्ड क्या करता है?
A
Forces variable into CPU register सीपीयू रजिस्टर में वेरिएबल को बाध्य करता है
B
Deprecated, no effect बहिष्कृत, कोई प्रभाव नहीं
C
Makes variable faster परिवर्तनशील को तेज़ बनाता है
D
Compile error in C++17 C++17 में संकलन त्रुटि
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) The register keyword was deprecated in C++11 and removed (made a reserved keyword) in C++17; using it causes a compile error.
व्याख्या (हिन्दी) रजिस्टर कीवर्ड को C++11 में हटा दिया गया और C++17 में हटा दिया गया (एक आरक्षित कीवर्ड बना दिया गया); इसका उपयोग करने से संकलन त्रुटि उत्पन्न होती है।
57
EN + हिं
GB What is the type deduced by: auto& x = 42;
IN किस प्रकार से निष्कर्ष निकाला जाता है: auto& x = 42;
A
int int यहाँ
B
int& int&
C
const int& स्थिरांक int&
D
Compile error संकलन त्रुटि
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) You cannot bind a non-const lvalue reference to an rvalue (42 is an rvalue). This is a compile error.
व्याख्या (हिन्दी) आप एक गैर-कॉन्स्ट लैवल्यू संदर्भ को एक प्रतिद्वंद्विता (42 एक प्रतिद्वंद्विता है) से नहीं बांध सकते। यह एक संकलन त्रुटि है.
58
EN + हिं
GB What is the output: int x=10; cout<
IN आउटपुट क्या है: int x=10; अदालत
A
3 1 3 1
B
3 2 3 2
C
4 0 4 0
D
3 0 3 0
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) 10/3=3 (integer division truncates toward zero), 10%3=1.
व्याख्या (हिन्दी) 10/3=3 (पूर्णांक विभाजन शून्य की ओर छोटा हो जाता है), 10%3=1।
59
EN + हिं
GB What is 'POD type' in C++?
IN C++ में 'POD प्रकार' क्या है?
A
Plain Old Data — a type compatible with C data layout सादा पुराना डेटा - सी डेटा लेआउट के साथ संगत एक प्रकार
B
Polymorphic Object Data बहुरूपी वस्तु डेटा
C
Pointer Or Dereference type सूचक या Dereference प्रकार
D
Preprocessor Object Definition प्रीप्रोसेसर ऑब्जेक्ट परिभाषा
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) POD (Plain Old Data) types have trivial constructors/destructors and standard layout, compatible with C structs.
व्याख्या (हिन्दी) पीओडी (प्लेन ओल्ड डेटा) प्रकारों में तुच्छ कंस्ट्रक्टर/डिस्ट्रक्टर और मानक लेआउट होते हैं, जो सी स्ट्रक्चर के साथ संगत होते हैं।
60
EN + हिं
GB What is the output: char c='Z'-'A'; cout<<(int)c;
IN आउटपुट क्या है: char c='Z'-'A'; अदालत
A
1 1
B
25 25
C
90 90
D
65 65
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) 'Z' is 90, 'A' is 65, difference is 25.
व्याख्या (हिन्दी) 'Z' 90 है, 'A' 65 है, अंतर 25 है।
46–60 of 1915