Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Modify the chapter critter Farm to be a more complicated critter -- Start with the critter farm program modify it Make sure you are using

Modify the chapter critter Farm to be a more complicated critter --

Start with the critter farm program modify it

Make sure you are using the multiple file class version.

From a critter base class -- add at least 2 inheritance critters

The base class should have at least 2 attributes (data)

The inherited class should have at least 2 additional traits different from the base class and the other inherited class

Add the appropriate functions for all the attributes -- both base and inherited

Add appropriate menu items

Add a detailed intro/help screen to help users to use your program.

Make sure you can print out all the values of the attributes as a hidden menu item

Add a ending screen to warn user not to stay away too long -- their critters will get hungry and lonely.

//Critter Farm Program

#include

#include

#include

using namespace std;

class Critter

{

public:

Critter(const string& name = "");

string GetName() const;

private:

string m_Name;

};

Critter::Critter(const string& name):

m_Name(name)

{}

inline string Critter::GetName() const

{

return m_Name;

}

class Farm

{

public:

Farm(int spaces = 1);

void Add(const Critter& aCritter);

void RollCall() const;

private:

vector m_Critters;

};

Farm::Farm(int spaces)

{

m_Critters.reserve(spaces);

}

void Farm::Add(const Critter& aCritter)

{

m_Critters.push_back(aCritter);

}

void Farm::RollCall() const

{

for (vector::const_iterator iter = m_Critters.begin();

iter != m_Critters.end();

++iter)

{

cout << iter->GetName() << " here. ";

}

}

int main()

{

Critter crit("Poochie");

cout << "My critter's name is " << crit.GetName() << endl;

cout << " Creating critter farm. ";

Farm myFarm(3);

cout << " Adding three critters to the farm. ";

myFarm.Add(Critter("Moe"));

myFarm.Add(Critter("Larry"));

myFarm.Add(Critter("Curly"));

cout << " Calling Roll... ";

myFarm.RollCall();

return 0;

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Professional SQL Server 2012 Internals And Troubleshooting

Authors: Christian Bolton, Justin Langford

1st Edition

1118177657, 9781118177655

More Books

Students also viewed these Databases questions

Question

4-25. You neglected to sign the enclosed contract.

Answered: 1 week ago