Pet information (derived classes)
The base class Pet has private data members petName, and petAge. The derived class Dog extends the Pet class and includes a private data member for dogBreed. Complete main() to:
create a generic pet and print information using PrintInfo().
create a Dog pet, use PrintInfo() to print information, and add a statement to print the dog's breed using the GetBreed() function.
Ex. If the input is:
Dobby
2
Kreacher
3
German Schnauzer
the output is:
Pet Information:
Name: Dobby
Age: 2
Pet Information:
Name: Kreacher
Age: 3
Breed: German Schnauzer
________________________________________________
the given code:
Main.cpp:
#include
#include
#include "Dog.h"
using namespace std;
int main() {
string petName, dogName, dogBreed;
int petAge, dogAge;
Pet myPet;
Dog myDog;
getline(cin, petName);
cin >> petAge;
cin.ignore();
getline(cin, dogName);
cin >> dogAge;
cin.ignore();
getline(cin, dogBreed);
// TODO: Create generic pet (using petName, petAge) and then call PrintInfo
// TODO: Create dog pet (using dogName, dogAge, dogBreed) and then call PrintInfo
// TODO: Use GetBreed(), to output the breed of the dog
}
___________________________________________________________________________________________
Pet.h
#ifndef PETH
#define PETH
#include
using namespace std;
class Pet {
protected:
string petName;
int petAge;
public:
void SetName(string userName);
string GetName();
void SetAge(int userAge);
int GetAge();
void PrintInfo();
};
#endif
_________________________________________________________________________--
Dog.h
#ifndef DOGH
#define DOGH
#include
#include "Pet.h"
class Dog : public Pet {
private:
string dogBreed;
public:
void SetBreed(string userBreed);
string GetBreed();
};
#endif
____________________________________________________________
Pet.cpp
#include "Pet.h"
#include
#include
using namespace std;
void Pet::SetName(string userName) {
petName = userName;
}
string Pet::GetName() {
return petName;
}
void Pet::SetAge(int userAge) {
petAge = userAge;
}
int Pet::GetAge() {
return petAge;
}
void Pet::PrintInfo() {
cout << "Pet Information: " << endl;
cout << " Name: " << petName << endl;
cout << " Age: " << petAge << endl;
}
__________________________________________________________________
Dog.cpp
#include "Dog.h"
#include
#include
using namespace std;
void Dog::SetBreed(string userBreed) {
dogBreed = userBreed;
}
string Dog::GetBreed() {
return dogBreed;
}