לא שלא מקובל, אין כזה צורך
אם אתה רוצה לבצע פעולה זהה על טיפוסים שונים - יש לך 2 אפשרויות: א. לכתוב את אותה הפונקציה עם פרמטרים מטיפוסים שונים כל פעם (OVERRIDE) ב. לכתוב פונקציה שמבצעת את הנדרש במחלקת הבסיס שממנה אתה יורש את המחלקות שלך, כשבמחלקת הבסיס הפונקציה היא VIRTUAL. במחקות יורשות אתה מממש את הפונקציה מחדש (אם יש צורך) עבור המחלקה הספציפית. במקרה הזה מנגנון ++C יזהה את המחלקה המדויקת., ויקרא לפונקציה מהמחלקה הנכונה. שימוש ב SWITCH יכול לגרום לבעיות כשאתה רוצה לעשות REUSE לקוד שלך עם טיפוסים חדשים. עם שימוש בא' וב' שרשמתי, לא תצטרך לשנות קוד קיים, רק להוסיף. עם שימוש בSWITCH - תצטרך לשנות קוד קיים.