Starting Out with C++ from Control Structures to Objects (9th Edition)
9th Edition
ISBN: 9780134498379
Author: Tony Gaddis
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 16, Problem 16RQE
A template which is designed to work with a specific data type is referred as “specialized template”.
Program Plan Intro
Function template:
In C++, a function template is referred as a “generic” function, which can work with different data types.
- While writing a function template, a programmer can specify the “type parameter” instead of using the actual data type.
- The compiler generates the code, when it encounters a function call to a function template. This code will handle the particular data type which is used in the function call.
Example:
For example consider the below function template used to find the cube of given value for any types:
//template function
template <class T>
//function definition of "cube"
T cube(T x)
{
//return the cube of the value
return x*x*x ;
}
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Discuss the derived and built-in data types listed here. Each example should be coded in C++.Type of Derived Data
ListStackArraysQueue
Topical Information
Use C++. The purpose of this project is to test your ability to use templates, dynamic memory (mixed with classes), operator overloading, and libraries effectively in program design.
Program Information
Create a template class for a dynamic 1D array. You can model your class off of our String class or the dynamic list class.
Changes from String class:
You won't need an end-of-string element in the array.
The element type is now templated.
Translation will no longer be necessary.
operators - and -= 'might' now make sense (erase element(s)?).
...
Show how useful your template array class is by creating arrays of
short integers
doubles
String class objects
(static) Point class objects
pointers to Point class objects (each allocated on the heap)
— all in one test application.
Make sure your test application is a good/thorough test of your class. (Your test application might utilize the applyand accumulatefunctions from lecture to facilitate testing. Also note how a…
In C++Using the code provided belowDo the Following:
Modify the Insert Tool Function to ask the user if they want to expand the tool holder to accommodate additional tools
Add the code to the insert tool function to increase the capacity of the toolbox (Dynamic Array)
USE THE FOLLOWING CODE and MODIFY IT:
#define _SECURE_SCL_DEPRECATE 0
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
class GChar
{
public:
static const int DEFAULT_CAPACITY = 5;
//constructor
GChar(string name = "john", int capacity = DEFAULT_CAPACITY);
//copy constructor
GChar(const GChar& source);
//Overload Assignment
GChar& operator=(const GChar& source);
//Destructor
~GChar();
//Insert a New Tool
void insert(const std::string& toolName);
private:
//data members
string name;
int capacity;
int used;
string* toolHolder;
};
//constructor
GChar::GChar(string n, int cap)
{
name = n;
capacity = cap;
used = 0;
toolHolder = new…
Chapter 16 Solutions
Starting Out with C++ from Control Structures to Objects (9th Edition)
Ch. 16.1 - Prob. 16.1CPCh. 16.1 - Prob. 16.2CPCh. 16.1 - Prob. 16.3CPCh. 16.1 - Prob. 16.4CPCh. 16.1 - Prob. 16.5CPCh. 16.3 - Prob. 16.6CPCh. 16.3 - The following function accepts an i nt argument...Ch. 16.3 - Prob. 16.8CPCh. 16.3 - Prob. 16.9CPCh. 16.4 - Prob. 16.10CP
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
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
- (Data processing) A bank’s customer records are to be stored in a file and read into a set of arrays so that a customer’s record can be accessed randomly by account number. Create the file by entering five customer records, with each record consisting of an integer account number (starting with account number 1000), a first name (maximum of 10 characters), a last name (maximum of 15 characters), and a double-precision number for the account balance. After the file is created, write a C++ program that requests a user-input account number and displays the corresponding name and account balance from the file.arrow_forwardassembly language ctt 9. Counting Nearly Matching ElementsWrite a procedure named CountNearMatches that receives pointers to two arrays of signed doublewords, a parameter that indicates the length of the two arrays, and a parameter that indicates the maximum allowed difference (called diff) between any two matching elements. For each element x(i) in the first array, if the difference between it and the corresponding y(i) in the second array is less than or equal to diff, increment a count. At the end, return a count of the number of nearly matching array elements in EAX. Display this value. Write a test program that calls CountNearMatches and passes pointersto two different pairs of arrays. Use the INVOKE statement to call your procedure and pass stackparameters. Create a PROTO declaration for CountMatches. Save and restore any registers (other than EAX) changed by your procedure.arrow_forwardWhich of the following statements is NOT correct? Group of answer choices C++ language provides a set of C++ class templates to implement common data structures, which is known as Standard Template Library (STL); In STL, a map is used to store a collection of entries that consists of keys and their values. Keys must be unique, and values need not be unique; In STL, a set is used to store a collection of elements and it does not allow duplicates; Both set and map class templates in STL are implemented with arrays.arrow_forward
- Template Specialization in c++ is used to write generic code. Template code is written once and use for any data type including user-defined data types.Example: sort() can be written and used to sort any data type items. Create a Template code that reads input from the user, user can enter any type of data like integer, double, float.sum() is the template method that can take any two types of data and add it and return the sum of the two numbers.Create a Template Specialization method to add two integer values only.If a specialized version is present, the compiler first checks with the specialized version and then the main template. Sample Input and Output:Enter two integer Numbers: 55Enter two float Numbers: 3.53.1Enter two double Numbers: 3.68.6Sum of two integer Numbers: only integer10Sum of two float Numbers: 6.6Sum of two double Numbers: 12.2arrow_forwardIN C++, TRUE OR FALSE : The statement delete p; deallocates the dynamic array that is pointed to by p. In the statement cin >> y;, y can only be an int or double variable. In an output statement, the newline character may be part of the string. The extraction operator (>>) skips whitespace characters when searching for the next data in the input stream.arrow_forwardOUTPUT MUST MATCH AS IT IS PLEASE. ----------------------------- Template Specialization Template Specialization in c++ is used to write generic code. Template code is written once and use for any data type including user-defined data types.Example: sort() can be written and used to sort any data type items. Create a Template code that reads input from the user, user can enter any type of data like integer, double, float.sum() is the template method that can take any two types of data and add it and return the sum of the two numbers.Create a Template Specialization method to add two integer values only.If a specialized version is present, the compiler first checks with the specialized version and then the main template. Sample Input and Output:Enter two integer Numbers: 55Enter two float Numbers: 3.53.1Enter two double Numbers: 3.68.6Sum of two integer Numbers: only integer10Sum of two float Numbers: 6.6Sum of two double Numbers: 12.2arrow_forward
- python question Define a function named filter_list with three parameters: the 1st parameter, called k in this description, is a string; the 2nd parameter, called v in this description, is a string; the 3rd parameter, called lst in this description, is a list of dictionaries. Your filter_list function should use the accumulator pattern to return a new list. Each dictionary in lst which includes k:v as a key-value pairing should be added to the accumulator. You SHOULD assume that all of lst's dictionaries have k as a key.arrow_forwardCIS 1275 C++ Programming Part I: Planets Extra Credit Using vectors and functions This program goes where no program has gone before, exploring new frontiers in C++. The program performs calculations concerning weight on various planets as well as travel time between planets. This will be a multi-file program consisting of Driver.cpp (main) and functions that will be placed in TravelFunctions.cpp and TravelFunctions.h files. You will use structures to hold Planet and Traveler objects. Use Array’s to store the Planet Objects. There will only be a single Traveler. In main, use Arrays to hold Planet Objects (names, distance from the sun, and the specific gravity on each planet). Create a global constant variable for the number of Planets. Place it in a location that both the TravelFunctions.cpp and Driver.cpp files can get access to it. const int NUM_PLANETS{8}; Your program should first declare variables, instantiate your Array of Planets. Display your course header with the…arrow_forwardAHPA #11: Changing Grades *use c programming language * Create a C function (switcher) that will receive a pointer to the finalExams array, using only pointers look for D scores and boost them to C scores. (ouput should be same as picture) #include <stdio.h> void switcher() { } int main(void) { int finalExams[] = {90,82,65,79,67,82,94,64,88,78,92,61,96,83,74}; return 0;}arrow_forward
- I request a C++ language coding. Write a function that creates a dynamic sequential structure. The structure contains the squares of N consecutive integers where N is a function parameter. The integers range from one to N. The function separates the squares into four sets with these restrictions: 1) the sums of the squares in the four sets are equal or nearly equal and 2) the function partitions squares for large values of N. The function returns the four partitions.the function partitions squares for large values of N.arrow_forwardCreate a template class List that contains a dynamic array of template type and an integer variable of size. Set the size of the array in the constructor. Include insert, show and Find Max and Find Min functions in the class. Find Max and Find Min functions return the maximum/minimum value stored in the array. Define all the functions outside the class. Test the class for at least two datatypes. In c++arrow_forwardPLLLLLLLSSSSSSS Answer Technology College Muscat hired you as a programmer to automate their manual StudentRegistration System. The college requires you to develop a C++ program to manage theirStudents’ personal and academic record.You are required to develop a C++ program using C++ structures, arrays, and userdefined functions.The college stores each student’s full name, a maximum of 30 character long, student’sage, numeric student’s ID number of 8 digits long, student’s modules enrolled andstudent’s module result.You are required to implement 3 different functions, a function to get/input all the data of astudent from a user. A function to get/input student’s modules and result against eachmodule and to calculate average marks of each students, and a function to display allstudents’ personal and academic data. You are required to demonstrate storing of 5students and displaying their stored data with average marks. You are also required tocalculate and display the overall result…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr