Can you compile and run the following code? What will be the output? #include <iostream>using namespace std; class A{ public:virtual void f() = 0; };class B: public A {public: void f(){cout << "invoke f from B" << end1; }};class C: public B {public:virtual void m() = 0; };class D: public C {public:virtual void m() {cout << "invoke m from D" << end1; }};void p(A& a) {a.f(); }int main() {D d;p(d);d.m();return 0; }
Can you compile and run the following code? What will be the output? #include <iostream>using namespace std; class A{ public:virtual void f() = 0; };class B: public A {public: void f(){cout << "invoke f from B" << end1; }};class C: public B {public:virtual void m() = 0; };class D: public C {public:virtual void m() {cout << "invoke m from D" << end1; }};void p(A& a) {a.f(); }int main() {D d;p(d);d.m();return 0; }
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
Can you compile and run the following code? What will be the output?
#include <iostream>
using namespace std; class A
{
public:
virtual void f() = 0;
};
class B: public A
{
public: void f()
{
cout << "invoke f from B" << end1; }
};
class C: public B
{
public:
virtual void m() = 0;
};
class D: public C
{
public:
virtual void m()
{
cout << "invoke m from D" << end1;
}
};
void p(A& a)
{
a.f();
}
int main()
{
D d;
p(d);
d.m();
return 0;
}
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 2 steps with 1 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education