آرگومان پیشفرض
آرگومان پیشفرض در شرایطی به کار میرود که تعیین یک مقدار مشخص برای یک آرگومان نیاز به تعریف یک تابع جدید را برطرف میسازد. هنگام استفاده از این مشخصه باید دقت شود که تابعهای گرانبار شده و تابعهای دارای آرگومان پیشفرض با یکدیگر تداخل نداشته باشند به عنوان مثال:
// function with default argument but also an overloaded function
int strcpy(char *str1, char *str2, short unsigned n=65535);
// second overloaded function
int strcpy(char *str1, char *str2);
کد بالا در صورت استفاده از یک آرگومان n
برای strcpy
درست کامپایل میگردد اما اگر آرگومانی تعیین نگردد درست عمل نخواهد کرد. چرا که کامپایلر نخواهد دانست که باید از مقدار پیشفرض استفاده نماید یا از تابع بدون آرگومان.
[ویرایش] چندریختی
چندریختی پویا شامل وراثت و توابع مجازی عضو است.