Starting Out with C++ from Control Structures to Objects (9th Edition)
Starting Out with C++ from Control Structures to Objects (9th Edition)
9th Edition
ISBN: 9780134498379
Author: Tony Gaddis
Publisher: PEARSON
bartleby

Concept explainers

Question
Book Icon
Chapter 16, Problem 12PC
Program Plan Intro

Implementation of specialized templates

Program plan:

  • Include the required header files in the program.
  • Define the template class “SimpleVector”:
    • Declare the required class data members and exception function under “private” access specifier.
    • Declare the required class member functions and class constructor under “public” access specifier.
  • Define the specialized template “SimpleVector()” function:
    • Get the array size and allocate the memory for corresponding array size
    • Store the c-string values as the array elements.
  • Define the specialized template copy constructor of the “SimpleVector()” function:
    • Copy the array size and allocate the memory for corresponding array size
    • copy the array elements.
  • Define the specialized template “~SimpleVector” class destructor:
    • Delete the allocated memory for the array.
  • Define the specialized template “subError()” function:
    • Display an error message.
    • Exit from the program
  • Define the specialized template function for operator overload for “[]”:
    • Get the array subscript and check it is in the array range.
    • If not then call the “subError()” exception function.
    • Return the subscript.
  • Define the template class “SearchableVector”, which is derived from the above class template “SimpleVector”:
    • Declare the required class member functions and class constructor under “public” access specifier.
  • Define the specialized template copy constructor of the “SearchableVector()” function:
    • Call the base class copy constructor for copying the array size and allocate the memory for corresponding array size.
    • Copy the array elements.
  • Define the specialized template function “findItem()”
    • Declare the required variables in the function.
    • Get the element from the function call.
    • Using while loop
      • Find the middle element of the array.
      • Check the middle element is the searching element.
        • If so, then return the array subscript.
      • Else, check the middle element is greater than the searching element.
        • If so, decrease the last index value.
      • Else, increase the starting index value.
    • If the element is not found, then return -1 as the array subscript.
  • Define the main() function:
  • Create an object for the class “SearchableVector” for c-string type.
  • Using for loop, display the array on the output screen.
  • Call the function “findItem()” using c-string element.
  • Compare the result of the function and display the message according to the condition.

Blurred answer
Students have asked these similar questions
Find the error, assume data is a string and all variables have been declared. for ch in data:         if ch.isupper:             num_upper = num_upper + 1         if ch.islower:             num_lower = num_lower + 1         if ch.isdigit:             num_digits = num_digits + 1         if ch.isspace:             num_space = num_space + 1
Find the Error: date_string = input('Enter a date in the format mm/dd/yyyy: ') date_list = date_string.split('-') month_num = int(date_list[0]) day = date_list[1] year = date_list[2] month_name = month_list[month_num - 1] long_date = month_name + ' ' + day + ', ' + year print(long_date)
Find the Error:       full_name = input ('Enter your full name: ')       name = split(full_name)       for string in name:         print(string[0].upper(), sep='', end='')         print('.', sep=' ', end='')

Chapter 16 Solutions

Starting Out with C++ from Control Structures to Objects (9th Edition)

Ch. 16.4 - Prob. 16.11CPCh. 16 - Prob. 1RQECh. 16 - Prob. 2RQECh. 16 - Prob. 3RQECh. 16 - Prob. 4RQECh. 16 - What is unwinding the stack?Ch. 16 - What happens if an exception is thrown by a classs...Ch. 16 - How do you prevent a program from halting when the...Ch. 16 - Why is it more convenient to write a function...Ch. 16 - Why must you be careful when writing a function...Ch. 16 - The line containing a throw statement is known as...Ch. 16 - Prob. 11RQECh. 16 - Prob. 12RQECh. 16 - Prob. 13RQECh. 16 - The beginning of a template is marked by a(n)...Ch. 16 - Prob. 15RQECh. 16 - Prob. 16RQECh. 16 - Write a function that searches a numeric array for...Ch. 16 - Write a function that dynamically allocates a...Ch. 16 - Make the function you wrote in Question 17 a...Ch. 16 - Write a template for a function that displays the...Ch. 16 - Prob. 21RQECh. 16 - Prob. 22RQECh. 16 - Prob. 23RQECh. 16 - Prob. 24RQECh. 16 - T F All type parameters defined in a function...Ch. 16 - Prob. 26RQECh. 16 - T F A class object passed to a function template...Ch. 16 - Prob. 28RQECh. 16 - Prob. 29RQECh. 16 - Prob. 30RQECh. 16 - Prob. 31RQECh. 16 - T F A class template may not be derived from...Ch. 16 - T F A class template may not be used as a base...Ch. 16 - Prob. 34RQECh. 16 - Prob. 35RQECh. 16 - try { quotient = divide(num1, num2); } cout The...Ch. 16 - template class T T square(T number) { return T T;...Ch. 16 - template class T int square(int number) { return...Ch. 16 - Prob. 39RQECh. 16 - Assume the following definition appears in a...Ch. 16 - Assume the following statement appears in a...Ch. 16 - Prob. 1PCCh. 16 - Prob. 2PCCh. 16 - Prob. 3PCCh. 16 - Prob. 4PCCh. 16 - Prob. 5PCCh. 16 - IntArray Class Exception Chapter 14 presented an...Ch. 16 - TestScores Class Write a class named TestScores....Ch. 16 - Prob. 8PCCh. 16 - Prob. 9PCCh. 16 - SortableVector Class Template Write a class...Ch. 16 - Inheritance Modification Assuming you have...Ch. 16 - Prob. 12PCCh. 16 - Prob. 13PC
Knowledge Booster
Background pattern image
Computer Science
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
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr