Question 1 ( 40 points) The ATM can have three kinds of money units (fifties, twenties, and tens) Write a C+ ATM class to represent an ATM machine as the following (Separate header from implementation): (a) Define the private data members fifties, twenties and tens (Data type int for all of them) (4 points) b) A default constructor that initializes the fifties, twenties and tens to 0 ( 4 points) 4 c) An initializer constructor that receives values for fifties, twenties and tens. ( 4 points) d) Define a getter for fifties member variable. (4 points) (e) Define Deposit function that receives values for fifties, twenties and tens. The function should add the received fifties to the existing fifties, and so is the case for twenties and tens. For example, if the ATM machine has 4 fifties, 2 twenties, and 3 tens before Deposit, and we call Deposit (3,7,10), then the ATM should have 7 fifties (4+3),9 twenties (2+7), and 13 tens (3+10)(6 points) (f) Define int GetATMTotalCash0 member function that returns the total cash it has. (5 points) (8) Define bool HasMoreCash(ATM \& a1) function which returns true if the current ATM has more balance that ATM al object received. (4 points) h) Define bool Withdraw(int amount,int \&fifties_count,int \&twenties_count, int \&tens_count ) member function, it receives the amount of cash the customer wants to withdraw, and if successful it returns true and specify the number units it will return using (fifties_count, twenties_count, and tens_count). For example, if the ATM machine has 4 fifties, 2 twenties, and 3 tens before withdraw, and we call Withdraw (130,x,y,z), then the function should return true and make the ATM with 2 fifties (42),1 twenties (21), and 2 tens (31), and set x,y, and z to 2,1,1 which will be 2 fifties +1 twenty +1 ten which totals to 130. Moreover, for Withdraw (100,x,y,z), the function should return true and set x,y, z to 2,0,0. Note, the function would return false in case the transaction was not possible (for example Ino enough cash to return, or there is cash but existing money units will work such as requested to withdraw 140 when the ATM has only 3 fifties) ( 6 points).