Hi,
I havent used C++ in a while, but you can do that... its just that you really dont want to do that
As nadroj said, if you want to invoke methods from fulltime_employee (which arent part of the employee interface), then you'll have to cast your object. First, if you have an array, you dont know which type of object you have, so you cant safely cast them all, because it could break in runtime. Second, I guess you can ask for the class of an object (I dont know how to do it in C++ but I guess it can be done) but then your code is kinda ugly. The rule of the thumb says that if you have to cast some objects of your array, then there is something that doesnt fit quite right. Perhaps you are think more like a structured program
If you have to cast them all, just define your array as a fulltime_employee and be happy.
The bottom line is that while casting is allowed an sometimes necesary, it is also something you want to avoid as much as you can since it skips types-checking and it will break your program on runtime which is harder to test and debug.
Hope this is useful.
Cheers!