มีสถานการณ์เมื่อชื่อที่ส่งผ่านในพารามิเตอร์จะถูกส่งไปเป็นประเภทใหม่ แต่ชื่อของวัตถุที่ผ่านควรจะยังคงคล้ายกัน สำหรับกรณีของคลาสแอททริบิวต์เราสามารถใช้โอเปอเรเตอร์นี้ได้ แต่สิ่งที่เกี่ยวกับตัวแปรโลคอลในฟังก์ชั่น แบบแผนการเข้ารหัสใดที่ใช้กันอย่างแพร่หลาย
ตัวอย่าง,
void MyFunc(BaseClass myPara)
{
DerivedClass _mypara = (BaseClass)myPara;
}
หรือในทางตรงกันข้าม
void MyFunc(BaseClass _myPara)
{
DerivedClass mypara = (BaseClass)_myPara;
}
หรืออนุสัญญาอื่น ๆ