Regular Cast : ترکیب شده ی همه ی Cast ها هست . چون در C شی گرایی نیست از این Cast بکارگیری میشه .
Dynamic Cast : تنها برای تبدیل رسته های ( Class ) های Derived و Base به هم دیگه بکارمیره . که به برنامه نویس اطمینان Cast شدن این دو به هم رو نشون میده . چون در بیشتر موارد نمیشه که کلاس Base v رو به Derived کست کرد.
Static Cast : برای تبدیل نوع های داده ای به هم دیگه بکار میره .
Const Cast : برای از بین Constness یا ایستا بودن یک متغییر بکار میره .
دلیل اینکه اینها از هم جدا شدن اینه که برنامه نویس رو آزاد میزاره که بتونه تنها از Cast ی که میخواد رو چیز دلخواهش اون رو بکار ببره و بتونه Cast کردن رو بیشتر زیر دست خودش داشته باشه .