1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- // usebrass3.cpp -- polymorphic example
- // compile with acctacb.cpp
- #include <iostream>
- #include <string>
- #include "acctabc.h"
- const int CLIENTS = 4;
- int main()
- {
- using std::cin;
- using std::cout;
- using std::endl;
- AcctABC * p_clients[CLIENTS];
- std::string temp;
- long tempnum;
- double tempbal;
- char kind;
- for (int i = 0; i < CLIENTS; i++)
- {
- cout << "Enter client's name: ";
- getline(cin,temp);
- cout << "Enter client's account number: ";
- cin >> tempnum;
- cout << "Enter opening balance: $";
- cin >> tempbal;
- cout << "Enter 1 for Brass Account or "
- << "2 for BrassPlus Account: ";
- while (cin >> kind && (kind != '1' && kind != '2'))
- cout <<"Enter either 1 or 2: ";
- if (kind == '1')
- p_clients[i] = new Brass(temp, tempnum, tempbal);
- else
- {
- double tmax, trate;
- cout << "Enter the overdraft limit: $";
- cin >> tmax;
- cout << "Enter the interest rate "
- << "as a decimal fraction: ";
- cin >> trate;
- p_clients[i] = new BrassPlus(temp, tempnum, tempbal,
- tmax, trate);
- }
- while (cin.get() != '\n')
- continue;
- }
- cout << endl;
- for (int i = 0; i < CLIENTS; i++)
- {
- p_clients[i]->ViewAcct();
- cout << endl;
- }
-
- for (int i = 0; i < CLIENTS; i++)
- {
- delete p_clients[i]; // free memory
- }
- cout << "Done.\n";
- // cin.get();
- return 0;
- }
|