3. Develop additional classes for Cat, Horse, and GuineaPig overriding the move() and speak() methods. (If you didn’t know, guinea pigs go “wheep wheepLinks to an external site.”). Make sure to also define a constructor and destructor for each of these classes, and that when you run your program, you can also see that the correct constructors and destructors are being called. Recall that a derived class will always call the parents constructors and destructors, so if you see this behavior, that is okay. Just make sure you are also calling the derived class’ constructors and destructors. Test with the modified main: int main () { Mammal* theArray[5]; Mammal* ptr; int choice; for (int i = 0; i < 5; i++) { cout << "(1)dog (2)cat (3)horse (4)guinea pig: "; cin >> choice; switch (choice) { case 1: ptr = new Dog; break; case 2: ptr = new Cat; break; case 3: ptr = new Horse; break; case 4: ptr = new GuineaPig; break; default: ptr = new Mammal; break; } theArray[i] = ptr; } // Iterate through array, and have each animal speak for (int i = 0; i < 5; i++) { theArray[i]->speak(); } // Always free dynamically allocated objects for (int i = 0; i < 5; i++) { delete theArray[i]; } return 0; } Sample run: (1)dog (2)cat (3)horse (4)guinea pig: 1 Mammal constructor... Dog constructor... (1)dog (2)cat (3)horse (4)guinea pig: 2 Mammal constructor... Cat constructor... (1)dog (2)cat (3)horse (4)guinea pig: 3 Mammal constructor... Horse constructor... (1)dog (2)cat (3)horse (4)guinea pig: 4 Mammal constructor... Guinea Pig constructor... (1)dog (2)cat (3)horse (4)guinea pig: 5 Mammal constructor... What does a dog say? Woof! What does a cat say? Meow! What does a horse say? Neigh! What does a Guinea Pig say? Wheep WHEEP! What does a mammal speak? Mammilian! Dog destructor... Mammal destructor... Cat destructor... Mammal destructor... Horse destructor... Mammal destructor... Guinea Pig destructor... Mammal destructor... Mammal destructor...
OOPs
In today's technology-driven world, computer programming skills are in high demand. The object-oriented programming (OOP) approach is very much useful while designing and maintaining software programs. Object-oriented programming (OOP) is a basic programming paradigm that almost every developer has used at some stage in their career.
Constructor
The easiest way to think of a constructor in object-oriented programming (OOP) languages is:
in c++
3. Develop additional classes for Cat, Horse, and GuineaPig overriding the move() and speak() methods. (If you didn’t know, guinea pigs go “wheep wheepLinks to an external site.”). Make sure to also define a constructor and destructor for each of these classes, and that when you run your program, you can also see that the correct constructors and destructors are being called. Recall that a derived class will always call the parents constructors and destructors, so if you see this behavior, that is okay. Just make sure you are also calling the derived class’ constructors and destructors.
Test with the modified main:
int main ()
{
Mammal* theArray[5];
Mammal* ptr;
int choice;
for (int i = 0; i < 5; i++)
{
cout << "(1)dog (2)cat (3)horse (4)guinea pig: ";
cin >> choice;
switch (choice)
{
case 1: ptr = new Dog;
break;
case 2: ptr = new Cat;
break;
case 3: ptr = new Horse;
break;
case 4: ptr = new GuineaPig;
break;
default: ptr = new Mammal;
break;
}
theArray[i] = ptr;
}
// Iterate through array, and have each animal speak
for (int i = 0; i < 5; i++)
{
theArray[i]->speak();
}
// Always free dynamically allocated objects
for (int i = 0; i < 5; i++)
{
delete theArray[i];
}
return 0;
}
Sample run:
(1)dog (2)cat (3)horse (4)guinea pig: 1
Mammal constructor...
Dog constructor...
(1)dog (2)cat (3)horse (4)guinea pig: 2
Mammal constructor...
Cat constructor...
(1)dog (2)cat (3)horse (4)guinea pig: 3
Mammal constructor...
Horse constructor...
(1)dog (2)cat (3)horse (4)guinea pig: 4
Mammal constructor...
Guinea Pig constructor...
(1)dog (2)cat (3)horse (4)guinea pig: 5
Mammal constructor...
What does a dog say? Woof!
What does a cat say? Meow!
What does a horse say? Neigh!
What does a Guinea Pig say? Wheep WHEEP!
What does a mammal speak? Mammilian!
Dog destructor...
Mammal destructor...
Cat destructor...
Mammal destructor...
Horse destructor...
Mammal destructor...
Guinea Pig destructor...
Mammal destructor...
Mammal destructor...
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images