Concept explainers
File Filter
A file filter reads an input file, transforms it in some way, and writes the results to an output file. Write an abstract file filter class that defines a pure virtual function for transforming a character. Create one subclass of your file filter class that performs encryption, another that transforms a file to all uppercase, and another that creates an unchanged copy of the original file.
The class should have a member function
void doFilter(ifstream &in, ofstream &out)
that is called to perform the actual filtering. The member function for transforming a single character should have the prototype
char transform(char ch)
The encryption class should have a constructor that takes an integer as an argument and uses it as the encryption key.
Want to see the full answer?
Check out a sample textbook solutionChapter 15 Solutions
MyLab Programming with Pearson eText -- Standalone Access Card -- for Starting Out With C++: Early Objects (My Programming Lab)
Additional Engineering Textbook Solutions
C++ How to Program (10th Edition)
Concepts Of Programming Languages
Problem Solving with C++ (10th Edition)
Digital Fundamentals (11th Edition)
Database Concepts (7th Edition)
- In C++ Define a class called textLines that will be used to store a list of lines of text (each line can be specified as a string). Use a dynamic array to store the list. In addition, you should have a private data member that specifies the length of the list. Create a constructor that takes a file name as parameter, and fills up the list with lines from the file. Make sure that you set the dynamic array to expand large enough to hold all the lines from the file. Also, create a constructor that takes an integer parameter that sets the size of an empty list. Write member functions to: remove and return the last line from the list add a new line onto the end of the list, if there is room for it, otherwise print a message and expand the array empty the entire list return the number of lines still on the list take two lists and return one combined list (with no duplicates) copy constructor to support deep copying remember the destructor!arrow_forwardCreate a class Department with attributes DName, DID, a dynamic listDTeachers of type string.Write accessors and mutators for all data membersand show function to show all data members.Create nullaryand parameterized constructors to initialize the data members.Also write a copy constructor for Department class.In main() create a dynamic array of departments, Use loop to create four objects in the dynamic array. All the even indexed objects should be created with nullary constructors and thencall the accessors and mutators to initializethe objects while, all the odd indexed objects should be initialized using parameterized constructors. Create four copy objects from array using copy constructors.Call the show function to show the four objects.arrow_forwardC++ * Add constructors to the code - a default and parameterized constructor to each. * Write an .h interface and a .cpp implementation for each class * Write an Drive/Test file that tests the constructors and functions * Write a UML class diagram for each class ******************************************************************** // Sample Class - Print and Study, RUN the code... #include <iostream> #include <string> using namespace std; // STEP 1 - DEFINE THE new datatype/Class 'aThing' class aThing { public: // Public means that is can be access in step 3 with the dot notation double getWeight(void) { return weight; } // public functions accessible by dot notation void setWeight( double inWeight ) { weight = inWeight; } private: // Private means that it can NOT be accessed with the dot notation, but indirectly with a public function double weight; // private variables only accessible by a function }; int main() {…arrow_forward
- Pointer and classImplement a class called Team as specified:data members:name - the name of the Team (defined as a dynamic variable)members - a dynamic array of stringsize - number of members in the team.functions:Course(): default constructor set name to “TBD”, and size to 0, members toempty listCourse(string): one argument constructor set name, and size to 0, members toempty listaccessor - an accessor for the name and size variablemutator - an mutator for the name variableUse following main() to test your class.int main() {Team a,b("Mets");cout<<a.getName()<<endl; // print TBDa.setName("Yankee");cout<<a.getName()<<endl; // print Yankeecout<<b.getName()<<endl; // print Metscout<<a.getSize()<<endl; // print 0return 0;}arrow_forwardSmart Pointer: Write a smart pointer class. A smart pointer is a data type, usually implemented with templates, that simulates a pointer while also providing automatic garbage collection. It automatically counts the number of references to a SmartPointer<?> object and frees the object of type T when the reference count hits zero.arrow_forwardWrite a smart pointer class. A smart pointer is a data type, usually implemented with templates, that simulates a pointer while also providing automatic garbage collection. It automatically counts the number of references to a SmartPointer<?> object and frees the object of type T when the reference count hits zero.arrow_forward
- Design the PartnerAssignment class that contains: Two String arrays as attributes. A constructor which takes the text file name as parameter and fill the first array withthe first row of names and the second array with the second row of names in the file. A method checkPartnerAssignment that determines if the assignment of partners iscorrect or incorrect and this method returns a string valuearrow_forwardCreate a Person class for a user of the system. Create person.h and person.cpp files for this class.The class should contain the following data of a person in the system:• first name,• last name,• user ID, and• email address.These data should be accessible in its derived class. (Consider should the data be private, public,or protected?)This class should contain:• a default constructor,• a value constructor that receives all of the data to be placed into the data members as itsparameters,• a copy constructor.The class should also contain:• “get” methods to allow the client to obtain information about a person.o getFirstName, getLastName, getID, getEmail• “set” methods to allow the client to assign information to a seller.o setFirstName, setLastName, setID, setEmail, and optionally setAllInfo• overloaded operatorso overloaded == method that returns true if two sellers have identical names andemail address; otherwise it returns false.o overloaded !=, <, and > operators (for > and…arrow_forwardCLASSES, DYNAMIC ARRAYS AND POINTERS Define a class called textLines that will be used to store a list of lines of text (each line can be specified as a string). Use a dynamic array to store the list. In addition, you should have a private data member that specifies the length of the list. Create a constructor that takes a file name as parameter, and fills up the list with lines from the file. Make sure that you set the dynamic array to expand large enough to hold all the lines from the file. Also, create a constructor that takes an integer parameter that sets the size of an empty list. in C++ Write member functions to: remove and return the last line from the list add a new line onto the end of the list, if there is room for it, otherwise print a message and expand the array empty the entire list return the number of lines still on the list take two lists and return one combined list (with no duplicates) copy constructor to support deep copying remember the destructor!arrow_forward
- Using C++ to Creates a class called Member with two integer x and y. a. Add a constructor able to create a Member object with tow integers and the default values 0,0; b. Add the methods setX and setY to modify the attributes x and y; c. Add the method display able to display the attributes, - A Queue is a special array where the insertion and deletion will be via a specific index called "head". A Queue is characterized by 3 attributes: a. capacity (int): the maximum number element Member that can be contained into the Queue; b. head: presents the index where we can add/remove element to the Queue. The head value presents also the current number of elements into the Queue. When a Queue is created the initial value of head is 0; c. Member content[]: an array of elements of type Member; Creates the class Queue with the following methods: a. a Constructor able to create a Queue with maximum 10 Members; b. bool empty (): this method returns true if no element exists in the Queue c. bool…arrow_forwardThe base class Pet has protected data members petName, and petAge. The derived class Dog extends the Pet class and includes a private data member for dogBreed. Complete main() to: create a generic pet and print information using PrintInfo(). create a Dog pet, use PrintInfo() to print information, and add a statement to print the dog's breed using the GetBreed() function. Ex. If the input is: Dobby2Kreacher3German Schnauzer the output is: Pet Information: Name: Dobby Age: 2Pet Information: Name: Kreacher Age: 3 Breed: German Schnauzer #include <iostream>#include<string>#include "Dog.h" using namespace std; int main() { string petName, dogName, dogBreed; int petAge, dogAge; Pet myPet; Dog myDog; getline(cin, petName); cin >> petAge; cin.ignore(); getline(cin, dogName); cin >> dogAge; cin.ignore(); getline(cin, dogBreed); // TODO: Create generic pet (using petName, petAge) and then call PrintInfo //…arrow_forwardjs code to Serializing and restoring class instancesYou can use a custom toJSON method and reviver function to transmit instances of your own class in JSON. If an object has a toJSON method, its result will be serialized instead of the object itself.jsarrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,