Assume the existence of a BankAccount class . Define a derived class , SavingsAccount that contains two instance variables : the first a double , named interestRate, and the second an integer named interestType.

LANGUAGE: C++

CHALLENGE:

Assume  the existence of a BankAccount class . Define a derived class , SavingsAccount that contains two instance variables : the first a double , named  interestRate, and the second an integer  named  interestType. The value  of the type  variable  can be 1 for simple interest and 2 for compound interest. There is also a constructor  that accepts two parameters : a double  that is used to initialize  the interestRate variable , and a string  that you may assume  will contain either “Simple”, or “Compound”, and which should be used to initialize  the type  variable  appropriately. There should also be a pair of functions getInterestRate and getInterestType that return the values  of the corresponding data members (as double  and int  respectively).

The function must not use a loop of any kind (for, while, do-while) to accomplish its job.

SOLUTION:


class SavingsAccount :public BankAccount{
    public:
        SavingsAccount();
        SavingsAccount(double,string);
        double getInterestRate();
        int getInterestType();

    private:
        double interestRate;
        int interestType;
    int type;
};

SavingsAccount::SavingsAccount(){
    interestRate = 0;
    interestType = 0;
}

SavingsAccount::SavingsAccount(double a,string b){
    interestRate = a;
    if (b == "Simple"){
        interestType = 1;
    }else if(b == "Compound"){
        interestType = 2;
    }
}

double SavingsAccount::getInterestRate(){
    return interestRate;
}

int SavingsAccount::getInterestType(){
    return interestType ;
}