سربارگذاری توابع
اکثر زبان های برنامه نويسی برنامه نويس را ملزم می کنند برای هر تابع نام منحصر بفردی را تعريف کنند. ويژگی چندريختی (polymorphism) در زبان ++C اين امکان را فراهم کرده که یک نام برای بیش از یک تابع به طور مشترک استفاده شود. اين عمل سربارگذاری توابع (function overloading) هم ناميده می شود. برای اينکه کامپايلر توابع هم نام را از هم تشخيص دهد نوع و تعداد پارامترهای توابع بايد با هم متقاوت باشد. کامپایلر از نوع آرگومان متوجه می شود کدام تابع فراخوانی شده است.

مثال.

#include <iostream.h>
float cube_number(float num);
int cube_number(int num);
int main() {
   float number;
   float number3;
   cout << "Please enter a number \n";
   cin >> number;
   number3 = cube_number(number);
   cout << number << " cubed is " << number3;
   return 0;
}
int cube_number(int num) {
   return num * num * num;
}
float cube_number(float num) {
   return num * num * num;
}