This is what we call Explicit cast operation taken place.
In case of operators, there are two types of cast :
1. Implicit
2. Explicit
You can assign a child class object to its base class as it is already defined with objects implicitly.
But using () lets you to override the normal assignment operation and try to cast it to another type. The cast will be possible only when the actual object is capable to cast to the object.
To know about casts, you can have a look into :
http://www.abhisheksur.com/2010/07/operator-overloading-with-implicit-and.htm[
^]
:rose: