A file filter reads an input file, transforms it in some way, and writes the results to an output file. Write a file filter class that
defines a function for transforming a character. This function should open the input and output files. It should read and
modify each character, writing the modified character to the output file. After all characters have been read and filtered you
should properly close both files. Then create a subclass for each of these transformations:
1. creates an unchanged copy of the original file (to test your inheritance)
2. performs encryption
3. transforms a file to all uppercase
4. modify #2 output to be all uppercase and in 5 letter groups
The base class should have a virtual member function
void doFilter(ifstream &in, ofstream &out)
that is called to perform the actual filtering. The virtual 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. Add
the key to the character, take the result modulus 26 and write it to the output file.
NOTES: 1- Part one includes creating the base class. Please do it first! Save a copy. Then work on the others in order. As
you get the new subclass working save a copy with a different name. This way you will not lose partial credit.
2- Part 4 is a combination of #2 and #3. Start it only after you have finished the other parts and safely put them in a
different file. Ciphertext (non-computerized systems) typically is written in 5 letter blocks using all capital letters.
Remember to remove blank characters and to insert a blank every 5 characters. What do you do with new line characters?
Part 4 example. Input: IBM is a big company. Shift 25. HAL hr z ahf bnlozmx. Uppercase: HAL HR Z AHF
BNLOZMX. Strip spaces: HALHRZAHFBNLOZMX 5 letter groups: HALHR ZAHFB NLOZM X Remember to do it
character by character. Don't copy space characters. Count to 5 to output a space.
TRIVIA: This is where HAL from 2001 A Space Odyssey came from.