Question: C++ A class BCheckString that is derived from the C++ Standard Library string class performs bounds checking and throws an exception. The BCheckString class will

C++

A class BCheckString that is derived from the C++ Standard Library string class performs bounds checking and throws an exception. The BCheckString class will have two member functions:

1) A BCheckString(string s) constructor that receives a string object passed by value and passes it on to the base class constructor. It just calls the base class constructor using its constructor initialization list.

2) A overloaded operator function, char operator[ ](int k), throws an exception, a BoundsException object (i.e., StrExcept()) if its parameter, k is out bounds (i.e., negative or greater than or equal to the length of the string), otherwise it will return the character at position k in the string with calling operator [] in the string base class.

main function that attempts to access characters that are within and outside the bounds of a suitably initialized BCheckString objects

#include  #include  using namespace std; class StrExcept { }; //String Out of Bounds Exception // COMPLETE class BCheckString { public: }; int main() { //Explain program to user cout << "This program demonstrates bounds checking on string object."; //Get string from user and create boundCheck string object cout << " Enter a string: "; string str; getline(cin, str); BCheckString h(str); //Let user access characters at specified positions in the string //COMPLETE cout << "Legitimate string positions are: " << 0 << ".." << h.length() -1 << endl; for (int k = 1; k <= 5; k++) { cout << "Enter an integer describing a position inside or outside the string: "; int pos; cin >> pos; cout << "The character at position " << pos << " is " << h[pos] << endl; } return 0; } 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!