Hech bo’lmaganda bitta virtual usulni o’z ichiga olgan har bir sinf (obyekt emas) uchun kompilyator har bir virtual usul uchun xotiradagi uning manzili yozilgan virtual usullar (vtbl) jadvalini yaratadi. Usullar manzillari jadvalda ularning sinflarda tavsiflanish tartibi bo’yicha joylashadi. Ixtiyoriy virtual usul manzili vtbl da shajara chegaralarida har bir sinf uchun bir xil siljishga ega.
Har bir obyekt vtbl ga yashirin qo’shimcha murojaat maydonini o’z ichiga oladi va vptr deb ataladi. U obyektni yaratishda konstruktor tomonidan to’ldiriladi (buning uchun kompilyator konstruktor tanasi boshiga mos ko’rsatmalarni qo’shadi).
Kompilyatsiya bosqichida virtual usullarga murojaatlar obyektning vptri orqali vtblga murojaatlar bilan almashtiriladi, bajarish bosqichida esa usulga murojaat paytida uning manzili jadvaldan tanlanadi. Shunday qilib, oddiy usul va funksiyalardan farqli virtual usul chaqirish jadvaldan usul manzilini olish qo’shimcha bosqichi orqali bajariladi. Bu biroz dastur bajarilishini sekinlashtiradi.
Xotirani dinamik obyektdan to’g’ri bo’shatishni kafolatlash uchun virtual destruktorlar yaratish tavsiya etiladi, chunki bu holda ixtiyoriy paytda obyektning haqiqiy tipiga mos destruktor tanlanishi mumkin. Destruktor size_t tipga ega obyekt o’lchovi delete amalini uzatadi. Agar yo’qotiluvchi obyekt hosilaviy bo’lsa va unda virtual destruktor aniqlanmagan bo’lsa, obyektning uzatiluvchi o’lchovi noto’g’ri bo’lishi mumkin.
Usulning virtual qilishning aniq qoidasi mavjud emas. Faqat hosilaviy sinflarda qayta aniqlanish ehtimoli bo’lgan usullarni virtual deb e’lon qilish tavsiyasini berish mumkin. Butun shajarada o’zgarmas bo’lib qoluvchi yoki hosila sinflari foydalanmaydigan usullarni virtual qilish ma’noga ega emas. Ikkinchi tomondan shajarani loyihalashda hamma vaqt ham bazaviy sinf qanday kengayishini (ayniqsa sinflar kutubxonalarini loyihalashda), usulni virtual deb e’lon qilish kengayishining uzviyligi va mumkinligini bashorat qilib bo’lmaydi.
Oxirgi mulohazani tushunish uchun faraz qilaylik draw usulini chaqirish obyektni siljitish usulidan amalga oshirilgan bo’lsin. Agar siljish usuli matni siljitilayotgan obyekt tipiga bog’liq bo’lmasa (chunki barcha obyektlarni siljitish prinsipi bir xil tasvirlash uchun esa konkret usul chaqiriladi), bu usulni hosila sinflarda qayta aniqlash zarur emas va u virtual bo’lmagan usul sifatida tavsiflanishi mumkin. Agar draw usuli virtual bo’lsa, siljish usuli qayta kompilyatsiyasiz ixtiyoriy hosila sinflar obyektlari bilan – hatto uni yozishda u haqda hech narsa ma’lum bo’lmaganlari bilan ham ishlasji mumkin.
Virtual mexanizm faqat obyektlarga ko’rsatgichlar yoki murojaatlardan foydalanilganda ishlatiladi. Ko’rsatgich yoki murojaat orqali aniqlangan va virtual usullarni o’z ichiga olgan obyekt ko’p shaklli (polimorf) deb ataladi. Bu holda polimorfizm ularga bitta murojaat yordamida har bir vaqt momentida ko’rsatgich murojaat qiladigan tipga bog’liq ravishda turli amallar bajarilishini bildiradi.