Classes and Objects Example

//DISPLAY 10.6 /Program to demonstrate the class BankAccount.
//Demonstrates an alternative implementation of the class BankAccount.
#include <iostream>
using namespace std;
 
//Class for a bank account:
class BankAccount
{
public:
    BankAccount(int dollars, int cents, double rate);
    //Initializes the account balance to $dollars.cents and
    //initializes the interest rate to rate percent.
 
    BankAccount(int dollars, double rate);
    //Initializes the account balance to $dollars.00 and
    //initializes the interest rate to rate percent.
 
    BankAccount( );
    //Initializes the account balance to $0.00 and the interest rate to 0.0%.
 
    void update( );
    //Postcondition: One year of simple interest has been added to the account 
    //balance.
 
    double get_balance( );
    //Returns the current account balance.
 
    double get_rate( );
    //Returns the current account interest rate as a percentage.
 
    void output(ostream& outs);
    //Precondition: If outs is a file output stream, then
    //outs has already been connected to a file.
    //Postcondition: Account balance and interest rate 
    //have been written to the stream outs.
private:
    double balance;
 double interest_rate;
 double fraction(double percent);
 //Converts a percentage to a fraction. For example, fraction(50.3)
 //returns 0.503.
 
};
 
int main( )
{
    BankAccount account1(100, 2.3), account2;
 
    cout << "account1 initialized as follows:\n";
    account1.output(cout);
    cout << "account2 initialized as follows:\n";
    account2.output(cout);
 
    account1 = BankAccount(999, 99, 5.5);
    cout << "account1 reset to the following:\n";
    account1.output(cout);
    return 0;
}
 
BankAccount::BankAccount(int dollars, int cents, double rate)
{
    if ((dollars < 0) || (cents < 0) || (rate < 0))
    {
        cout << "Illegal values for money or interest rate.\n";
    }
  balance = dollars + 0.01*cents;
 interest_rate = rate;
}
 
BankAccount::BankAccount(int dollars, double rate)
{
 if ((dollars < 0) || (rate < 0))
 {
 cout << "Illegal values for money or interest rate.\n";
 }
 balance = dollars;
 interest_rate = rate;
}
 
 
BankAccount::BankAccount( )  : balance(0), interest_rate(0.0)
{
    //Body intentionally empty.
}
 
//Uses iostream:
void BankAccount::output(ostream& outs)
{
    outs.setf(ios::fixed);
    outs.setf(ios::showpoint);
    outs.precision(2);
    outs << "Account balance $" << balance << endl;
    outs << "Interest rate " << interest_rate << "%" << endl;
}
 

Start Project 7


This topic: SCMP118 > Main > Fall2017 > Lab7Startup
Topic revision: r1 - 2017-10-23 - JimSkon
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback