Define and implement a class named animal that has the following constructor and attributes: animal(string n, int v) ; // creates an animal with name n and body volume v. string name ; int animalID ; int volume ; // animals are allocated a unique ID on creation // the animal's name // the animal's unique ID // the volume of the animal's body Following the principles of encapsulation and information hiding, set the proper access modifiers for the attributes and provide methods to access the object's data. You need to set the name and volume of an animal, as well as get the animal's name, animallD and volume. There must not be a set function for animallD. The get and set function names should be the attribute name prefixed with "get_" or "set_" respectively. For example, the get and set methods for volume would be named get_volume and set_volume respectively. Declare the get_name function as pure virtual. When selecting between the three types of access modifiers for each of the attributes, note that none of the attributes may be public but, in the further questions child classes of animal are to be implemented that will need to directly access the attributes name and animallD.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Define and implement a class named hunter. A hunter object represents an animal that hunts for its food in the wild. The hunter class must be
defined by inheriting from the animal class and it has the following constructor and private attribute:
hunter(string n, int v); // create a hunter with name n and body volume v
int kills ;
// how many kills have been recorded, initialised to e
The class must also have a private static attribute:
static int nextID ;
which is the unique animallD of the next hunter object to be created. This is incremented by 1 each time a new hunter object is created. This must
be initialized to the value of 1000 in the hunter.cpp file, the animallD of the first hunter is 1000.
You need get and set functions to access the private attribute, kills, but there must not be a get or set function for the private static attribute nextID.
You need to define the get_name function for this class which returns the name of the hunter object, prefixed with the string "Hunter: ".
Transcribed Image Text:Define and implement a class named hunter. A hunter object represents an animal that hunts for its food in the wild. The hunter class must be defined by inheriting from the animal class and it has the following constructor and private attribute: hunter(string n, int v); // create a hunter with name n and body volume v int kills ; // how many kills have been recorded, initialised to e The class must also have a private static attribute: static int nextID ; which is the unique animallD of the next hunter object to be created. This is incremented by 1 each time a new hunter object is created. This must be initialized to the value of 1000 in the hunter.cpp file, the animallD of the first hunter is 1000. You need get and set functions to access the private attribute, kills, but there must not be a get or set function for the private static attribute nextID. You need to define the get_name function for this class which returns the name of the hunter object, prefixed with the string "Hunter: ".
Define and implement a class named animal that has the following constructor and attributes:
animal(string n, int v) ; // creates an animal with name n and body volume v.
string name ;
int animalID ;
int volume ;
// animals are allocated a unique ID on creation
// the animal's name
// the animal's unique ID
// the volume of the animal's body
Following the principles of encapsulation and information hiding, set the proper access modifiers for the attributes and provide methods to access
the object's data. You need to set the name and volume of an animal, as well as get the animal's name, animallD and volume. There must not be
a set function for animallD. The get and set function names should be the attribute name prefixed with "get_" or "set_" respectively. For example,
the get and set methods for volume would be named get_volume and set_volume respectively.
Declare the get_name function as pure virtual. When selecting between the three types of access modifiers for each of the attributes, note that
none of the attributes may be public but, in the further questions child classes of animal are to be implemented that will need to directly access the
attributes name and animallD.
Transcribed Image Text:Define and implement a class named animal that has the following constructor and attributes: animal(string n, int v) ; // creates an animal with name n and body volume v. string name ; int animalID ; int volume ; // animals are allocated a unique ID on creation // the animal's name // the animal's unique ID // the volume of the animal's body Following the principles of encapsulation and information hiding, set the proper access modifiers for the attributes and provide methods to access the object's data. You need to set the name and volume of an animal, as well as get the animal's name, animallD and volume. There must not be a set function for animallD. The get and set function names should be the attribute name prefixed with "get_" or "set_" respectively. For example, the get and set methods for volume would be named get_volume and set_volume respectively. Declare the get_name function as pure virtual. When selecting between the three types of access modifiers for each of the attributes, note that none of the attributes may be public but, in the further questions child classes of animal are to be implemented that will need to directly access the attributes name and animallD.
Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY