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 być typem prostym
Typem T użytym podczas instancjacji szablonu może być typ wbudowany (int, char, float, double)
Zeby mozna było wywołac szablon funkcji parametrem może klasa która posiada domyślny konstruktor oraz przeciążony operator +=