c++ A FastCritter moves twice as fast as a regular critter. When asked to move by n steps, it actually moves by 2 * n steps. Implement a FastCritter class derived from Critter whose move function behaves as described. Complete the following file: fastcritter_Tester.cpp #include using namespace std; #include "critter.h" /** A FastCritter moves twice as fast as a regular critter. */ class FastCritter:public Critter { public: void move(int steps); }; . . . int main() { FastCritter speedy; speedy.move(10); cout << speedy.get_history() << endl; cout << "Expected: [move to 20]" << endl; speedy.move(-1); cout << speedy.get_history() << endl; cout << "Expected: [move to 20, move to 18]" << endl; return 0; }   Use the following file: critter.h #ifndef CRITTER_H #define CRITTER_H #include #include using namespace std; /** A simulated critter. */ class Critter { public: /** Constructs a critter at position 0 with blank history. */ Critter(); /** Gets the history of this critter. @return the history */ string get_history() const; /** Adds to the history of this critter. @param event the event to add to the history */ void add_history(string event); /** Gets the position of this critter. @return the position */ int get_position() const; /** Moves this critter. @param steps the number of steps by which to move. */ void move(int steps); /** The action of this critter in one step of the simulation. */ void act(); private:     int position;     vector history; }; #endif

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter12: Adding Functionality To Your Classes
Section: Chapter Questions
Problem 1PP
icon
Related questions
Question

c++

A FastCritter moves twice as fast as a regular critter. When asked to move by n steps, it actually moves by 2 * n steps. Implement a FastCritter class derived from Critter whose move function behaves as described.

Complete the following file:

fastcritter_Tester.cpp

#include <iostream>
using namespace std;

#include "critter.h"

/**
A FastCritter moves twice as fast as a regular critter.
*/
class FastCritter:public Critter
{
public:
void move(int steps);
};

. . .

int main()
{
FastCritter speedy;
speedy.move(10);
cout << speedy.get_history() << endl;
cout << "Expected: [move to 20]" << endl;
speedy.move(-1);
cout << speedy.get_history() << endl;
cout << "Expected: [move to 20, move to 18]" << endl;

return 0;
}

 

Use the following file:

critter.h

#ifndef CRITTER_H

#define CRITTER_H

#include <string>

#include <vector>

using namespace std;

/** A simulated critter. */

class Critter { public:

/** Constructs a critter at position 0 with blank history. */

Critter();

/** Gets the history of this critter. @return the history */

string get_history() const;

/** Adds to the history of this critter. @param event the event to add to the history */

void add_history(string event);

/** Gets the position of this critter. @return the position */

int get_position() const;

/** Moves this critter. @param steps the number of steps by which to move. */

void move(int steps);

/** The action of this critter in one step of the simulation. */

void act();

private:

    int position;

    vector<string> history; };

#endif

Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
ADT and Class
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.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,