Create a factory function and constructor, Computer Engineering

Assignment Help:

1) This project will use an account class that has the members:

string account_code;

string first_name;

string last_name;

double balance;

Provide a constructor that initializes ALL members in its initialization list with data passed in as arguments to the constructor.  You will also need accessor functions to get the account code and balance and to set the balance.

In addition, include two pure virtual functions that look like the following:

virtual void monthly_update() = 0;

virtual char type() = 0;

2) Design and implement the following derived classes that will inherit from account and implement the monthly_update function in the following manner: 

2058_Create a factory function.png

If the type is an 'X', skip the account record.  In other words, the account should not be processed by the rest of the program and should not appear in the result.

If the type is anything else, throw an invalid_account_type exception (that you will have to write), but DO NOT stop processing the rest of the accounts.  Instead, log the account to a file named "account.log". Trim spaces from the right of the first_name and last_name members.

4) Write a manager class that has a vector member and a main function.  In the main function, open an ifstream on the file, "account2.dat", which will be supplied to you.  If the file does not exist, throw a file_not_found exception (that you will have to write) and terminate the program after logging this to the "account.log" file.

5) For each account in the input file, invoke the factory function/class written in part

3)  Each object returned from the factory function will then be inserted into the vector. 

1874_Create a factory function1.png

If the account is to be ignored, or if the factory function throws an invalid_account_type exception, no account should be inserted into the vector (let alone even created).  At the end of the stream, proceed with part 6.

6) Iterate through the vector and invoke the monthly_update function for each account in the vector.

7) Using an ofstream, output each account to a new file named "update.dat" in the SAME format as "account2.dat".

8) Output the accounts in a "human readable format" to a file, "report.txt".  The output format is of your choice, but please include all the members of each account per line (including the type).

9) Write a main function that instantiates your manager class from part 4, invokes its main and takes care of any exceptions that could possibly "leak" out.


Related Discussions:- Create a factory function and constructor

What is drag, Move the mouse pointer over the object you wish to drag, and ...

Move the mouse pointer over the object you wish to drag, and then hold down the left mouse button. Whereas holding the mouse button, move the mouse pointer (and the object) to the

What are single stage and multistage networks, What are single stage and mu...

What are single stage and multistage networks? Compare the strengths and weaknesses of each. OR List the major difference in single stage, two stages and three stage Netw

Future of hyper threading, Current Pentium 4 based MPUs use Hyper-threading...

Current Pentium 4 based MPUs use Hyper-threading, but the next-generation cores, Woodcrest and Merom, Conroe will not. While some have alleged that this is because Hyper-threading

How many number of flip flops contained in IC 7490, The number of flip flop...

The number of flip flops contained in IC 7490 is ? Ans. 2 flip flops contained in IC 7490.

Define the most common biometrics, What is most common biometrics? Explain ...

What is most common biometrics? Explain in brief. The most common biometrics is as given below: Face geometry (Photo): The computer captures the picture of your face and m

Resource dependence , Resource Dependence The parallelism among the ...

Resource Dependence The parallelism among the instructions may also be affected because of  the shared resources. If two instructions are using the related shared resource t

What is linear bounded automation, What is linear bounded automation?  ...

What is linear bounded automation?   A linear bounded automation is restricted type of Turing machine where in the tape head isn't permitted to move off the portion of the tape

Board coloring, In this problem you are given a board in which some of the...

In this problem you are given a board in which some of the elements are placed as shown in diagram below. Each element represents a color. Fill the other elements in the board, suc

What are the difference between $display and $strobe, What are the Differen...

What are the Difference between $display and $strobe Difference between $display and $strobe is that $strobe displays parameters at the very end of current simulation time unit

Explain about micro-instruction formats, Q. Explain about Micro-instruction...

Q. Explain about Micro-instruction Formats? Now let's focus on format of a micro-instruction. The two widely used formats employed for micro-instructions are vertical and horiz

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd