Pytanie 16
Zdefiniowano szablon (wzorzec) funkcji:
template
T suma ( T∗ table, int size)
{
T t =T () ;
for ( int i = 0; i < size ; i ++ ) t += table [i] ;
return t ;
}
Proces instancjacji szablonu polega na zastąpieniu typów i zmiennych będących parametrami szablonu konkretnymi typami i wartościami, a następnie generacji kodu wynikowego. Jakie założenia musi spełniać typ T, aby instancjacja szablonu była możliwa?
Zeby mozna było wywołac szablon funkcji parametrem może klasa która posiada domyślny konstruktor oraz przeciążony operator +=
Zeby mozna było wywołac szablon funkcji parametrem może być typem prostym
Typem T użytym podczas instancjacji szablonu może być typ wbudowany (int, char, float, double)