یکی دیگر از انواع وراثت ,وراثت خصوصی است که با حذف کلمه public یا صریحا با ذکر کلمه private یک کلاس پایه می تواند به صورت خصوصی ارث گرفته شود. در توارث خصوصی کلاس مشتق شده کلیه اعضای کلاس پایه را دارا خواهد بود اما به صورت مخفی و اعضای عمومی کلاس پایه اعضای خصوصی کلاس مشتق شده خواهند شد. بنابراین یک شی به عنوان یک نمونه از کلاس نمی تواند به اعضای کلاس پایه دسترسی پیدا کند.
نکته. توارث خصوصی برای پنهان کردن لایه زیرین پیاده سازی کلاس پایه مفید است.
نکته. در توارث خصوصی کلیه اعضای عمومی کلاس پایه خصوصی می شوند. اگر می خواهید عضوی قابل رویت شود کافی است نام آن را (بدون آرگومان و مقدار برگشتی) در بخش public کلاس مشتق شده ذکر کنید.
مثال. چون وراثت خصوصی است تابع speak از کلاس پایه Pet در برنامه قابل دسترس نیست درحالیکه توابع eat و sleep از کلاس پایه به صورت قابل دسترس درآمده اند.