← Back to Question List
C++ Quiz #27
Non-Virtual Method Call
The programmer expects this code to print "Dog speaks", but it prints "Animal speaks" instead. What is the bug?
📄 Code
1#include <iostream>2using namespace std;34class Animal {5public:6 void speak() {7 cout << "Animal speaks" << endl;8 }9};1011class Dog : public Animal {12public:13 void speak() {14 cout << "Dog speaks" << endl;15 }16};1718int main() {19 Animal* a = new Dog();20 a->speak();21 delete a;22 return 0;23}