Your Perfect Assignment is Just a Click Away

We Write Custom Academic Papers

100% Original, Plagiarism Free, Customized to your instructions!

glass
pen
clip
papers
heaphones

CIS22b De Anza College Write a code about Encrypted

CIS22b De Anza College Write a code about Encrypted

In this lab you will restructure and extend Lab 4 in order to have multiple encryption algorithms. You will create an abstract class with a pure virtual function decode which will be implemented in two different derived classes. One of them will have the algorithm that you already implemented in Lab 4. The second one is explained in STEP 3.
STEP 1: Make the Encrypted class created for Lab 1 abstract. For a class to be abstract it needs to have a pure virtual function. Make decode a pure virtual function in that class (refer to textbook 15.7 Abstract Base Classes and Pure Virtual Functions). Keep everything that you already have in the Encrypted class except the implementation (body) of decode and any member variables used in the decoding process. Those need to be moved to the derived class where the decoding will now take place. Variables left in the base class that you may need to access in the derived classes need to be protected instead of private.
STEP 2: Create another header file “CypherA.h” with class CypherA derived from Encrypted. Don’t forget to #include “Encrypted.h” in the new header file. Move the decode function that you implemented on Lab 4 here. This class should have:

member function decode and any member variables needed in the decoding process.
constructor (refer to textbook 15.3 Constructors and Destructors in Base and Derived Classes and Passing Arguments to Base Class Constructors) and destructor.

STEP 3: Create another header file CypherB.h with class CypherB derived from Encrypted. Don’t forget to #include “Encrypted.h”. Implement another version of decode using an algorithm known as “rotational cypher”. In this encryption method, a key is added to each letter of the original text. For example:
Cleartext: A P P L EKey: 4 4 4 4 4Ciphertext: E T T P I
In order to decode, you need to subtract 4.
Implement the member functions in CypherA and CypherB inline.
STEP 4: Now in main.cpp you cannot create objects of Encrypted anymore because you made it abstract and you cannot instantiate objects of abstract classes. Change main.cpp to create objects of CypherA and CypherB instead. You need to #include “CypherA.h” and “CypherB.h” instead of “Encrypted.h” in main.cpp. Note that you can still call printand isEmpty on the objects of CypherA and CypherB, even though they belong to Encrypted, because CypherA and CypherB inherit all protected and public members from Encrypted.
Turn in Encrypted.cpp, Encrypted.h, CypherA.h and CypherB.h.

Order Solution Now

Our Service Charter

1. Professional & Expert Writers: Blackboard Experts only hires the best. Our writers are specially selected and recruited, after which they undergo further training to perfect their skills for specialization purposes. Moreover, our writers are holders of masters and Ph.D. degrees. They have impressive academic records, besides being native English speakers.

2. Top Quality Papers: Our customers are always guaranteed of papers that exceed their expectations. All our writers have +5 years of experience. This implies that all papers are written by individuals who are experts in their fields. In addition, the quality team reviews all the papers before sending them to the customers.

3. Plagiarism-Free Papers: All papers provided by Blackboard Experts are written from scratch. Appropriate referencing and citation of key information are followed. Plagiarism checkers are used by the Quality assurance team and our editors just to double-check that there are no instances of plagiarism.

4. Timely Delivery: Time wasted is equivalent to a failed dedication and commitment. Blackboard Experts is known for timely delivery of any pending customer orders. Customers are well informed of the progress of their papers to ensure they keep track of what the writer is providing before the final draft is sent for grading.

5. Affordable Prices: Our prices are fairly structured to fit in all groups. Any customer willing to place their assignments with us can do so at very affordable prices. In addition, our customers enjoy regular discounts and bonuses.

6. 24/7 Customer Support: At Blackboard Experts, we have put in place a team of experts who answer to all customer inquiries promptly. The best part is the ever-availability of the team. Customers can make inquiries anytime.