I didn't read the code in detail, however it looks like you are defining BankAccount in the code file that contains main(). But your User class is derived from BankAccount so when the compiler tries to compile your User class it hasn't seen the BankAccount class. Try moving all of the BankAccount code to new files, BankAccount.h and BankAccount.cpp (just as you did for your User class). Then include BankAccount.h in User.h. I did not look for other errors.
alrededor is correct. Because your declaration for the BankAccount class is in main.cpp, when the compiler is compiling user.cpp, it does not know what BankAcount looks like. It need to know this since User is derived from BankAccount.
BTW, Withdrawal really doesn't belong as a member of BankAccount. A withdrawal is something the user does. It should affect either the checking or savings balance, but is not something that needs to be saved. It should just be a local variable.
How is the balance variable different from the checking and saving member variables?
Line 116: You're calling setWithdrawal, but that doesn't change the user's balance. A withdrawal should change the amount of money a user has in checking or savings.