label Cursuri autorenew 2025-09-29, 16:57
O entitate polimorfica poate avea mai multe tipuri (polimorfism = mai multe forme).

Polimorfismul parametric se refera la posibiltatea apelarii unei functii cu un numar variabil de parametri. Un exemplu tipic in acest sens il reprezinta functiile de intrare-iesire: printf, fprintf, scanf, fscanf, etc.

Polimorfismul parametric este posibil in C si C++, deoarece la apelul functiilor parametrii sunt pusi in stiva de catre programul apelant.

In C, functiile definite fara nici un parametru (nici macar void) nu sunt verificate de catre compilator, asa ca pot fi apelate cu oricati parametri, eventual de tipuri diferite.

In C++, pentru a specifica un numar variabil de parametric vom defini in mod explicit o functie cu numar variabil de parametric, prin tipul (. . .), specificat intotdeauna ca ultim parametru. Parametrii pusi in stiva de catre programul apelant vor trebui prelucrati in mod explicit de catre programator. in acest scop se utilizeaza macroinstructiunile va_start, va_arg si va_end definite in fisierul <stdarg.h>.