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

Name a different return types of a controller action method, The following...

The following are just a few return types of a controller action process. In common an action process can return an instance of an any class that derives from Action Result class.

What is the meaning of user interaction, a. What is the meaning of user int...

a. What is the meaning of user interaction? What are the dissimilar styles in which forms of interaction can be classified? Give one advantage, disadvantage and an example of every

What are the disadvantages of public key cryptography, What are the disadva...

What are the disadvantages of Public Key Cryptography? Disadvantages of Public Key Cryptography are as given below: a) It is used to encrypt a secret key that is used to e

What is a thread, What is a thread? A thread otherwise called a lightwe...

What is a thread? A thread otherwise called a lightweight process (LWP) is a basic unit of CPU utilization, it comprises of a thread id, a program counter, a register set and a

What is dialog box, This is a small window that is demanding your attention...

This is a small window that is demanding your attention. You must respond before you can carry on using the program that shown the dialog box. A dialog box does not have a minimize

Show list files by dir command, Q. Show list files by Dir command? The ...

Q. Show list files by Dir command? The Dir command can also be used to list files from the exacting directory. For example, the list of files present in the WORD directory in d

How to correctly apply the graphics patches in matlab, Open a LOCAL MACHINE...

Open a LOCAL MACHINE window and type: xhost +ashland # Add the following code sequence just before the plot command that was giving you problems: figure; set(gcf,'renderer','zbuffe

Show the decimal representation in computers, Binary number system is most ...

Binary number system is most common for computer due to two stable states of its components. However unfortunately this isn't a very natural system for us as we deal with decimal n

Path & Path Production, Take the following flow graph and use the procedure...

Take the following flow graph and use the procedure in chapter 8 to derive an equivalent regular expression. Show all intermediate graphs (to ensure that you follow the procedure,

Amdahl law to measure speed up performance, Q. Amdahl Law to measure speed ...

Q. Amdahl Law to measure speed up performance? Remember that speed up factor assists us in knowing relative gain attained in shifting execution of a task from sequential comput

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