Question

1.
2.
3.
4.
Answer (Detailed Solution Below)

Option 1 : Bd

Advertisement

Detailed Solution

सही उत्तर Bd है।

Key Points
Helpful?
PrepSnapprepsnap.in • Part -A

Question:

Consider the C++ fragment: class Base { public: void show(){ cout<<"B"; } virtual void disp(){ cout<<"b"; } }; class Der : public Base { public: void show(){ cout<<"D"; } void disp(){ cout<<"d"; } }; int main(){ Base* p = new Der(); p->show(); p->disp(); } What is printed? / C++ कोड खंड पर विचार करें: class Base { public: void show(){ cout<<"B"; } virtual void disp(){ cout<<"b"; } }; class Der : public Base { public: void show(){ cout<<"D"; } void disp(){ cout<<"d"; } }; int main(){ Base* p = new Der(); p->show(); p->disp(); } क्या मुद्रित होगा?

1.
Bd
2.
Dd
3.
Bb
4.
Db

Correct Answer: Bd

show() is non-virtual, so the Base version runs through a Base pointer (B); disp() is virtual, so dynamic dispatch selects Der's override (d), giving Bd. / show() अवर्चुअल है, अतः Base पॉइंटर से Base संस्करण चलता है (B); disp() वर्चुअल है, अतः गतिशील प्रेषण Der के ओवरराइड को चुनता है (d), अतः Bd।

Downloaded from PrepSnap (prepsnap.in)