Question
Option 1 : Bd
Detailed Solution
सही उत्तर Bd है।
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(); } क्या मुद्रित होगा?
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।