Answer to Question #185812 in C++ for ismail khan

Question #185812

Write a program that defines a class with a data member to holds a “serial number” for each object created from the class. That is, the first object created will be numbered 1, the second 2, and so on. To do this, you’ll need another data member that records a count of how many objects have been created so far. (This member should apply to the class as a whole; not to individual objects. What keyword specifies this?) Then, as each object is created, its constructor can examine this count member variable to determine the appropriate serial number for the new object. Add a member function that permits an object to report its own serial number. Then write a main () program that creates three objects and queries each about its serial number. They should respond I am object number 2, and so on



1
Expert's answer
2021-04-26T13:55:45-0400
#include <iostream>

using namespace std;

class Test{
private:
//the static keyword stores the variable in the class
//it doest not changes on instantiations
static int num;
int serialNum;
public:
//constructor
Test(){
num += 1;
serialNum = num;
}
//getter for serial
int getSerialNum(){return serialNum;}
};
//initializing the static variable num to 0
int Test::num = 0;

int main(){
//instantiating three Test objects
Test obj1;
Test obj2;
Test obj3;
//printing the serial numbers of each object
cout<<obj1.getSerialNum()<<endl;
cout<<obj2.getSerialNum()<<endl;
cout<<obj3.getSerialNum()<<endl;

return 0;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS