estudiamos lo que son las plantillas en C++. En nuestra entrada de blog de hoy. Realizaremos un leve recordatorio de como se declaran las plantillas de clase y funciones en C++.

Para retomar en la siguiente sesión algunos ejemplos utilizando estas plantillas.

C++ permite crear plantillas de funciones y plantillas de clases.

La sintaxis para declarar una plantilla de función es parecida a la de cualquier otra función, pero se añade al principio una presentación de la clase que se usará como referencia en la plantilla:

template <class|typename <id>[,…]>

<tipo_retorno> <identificador>(<lista_de_parámetros>)

{

// Declaración de función

};

La sintaxis para declarar una plantilla de clase es parecida a la de cualquier otra clase, pero se añade al principio una presentación de la clase que se usará como referencia en la plantilla:

template <class|typename <id>[,…]>

class <identificador_de_plantilla>

{

// Declaración de funciones

// y datos miembro de la plantilla

};

Pero seguro que se ve mejor con un ejemplo:

template <class T1>

class Tabla {

public:

Tabla();

~Tabla();

};

Del mismo modo, cuando tengamos que definir una función miembro fuera de la declaración de la clase, tendremos que incluir la parte del template y como nombre de la clase incluir la plantilla antes del operador de ámbito (::). Por ejemplo:

template <class T1>

Tabla<T1>::Tabla() {

// Definición del constructor

}

Plantillas de funciones

Un ejemplo de plantilla de función puede ser esta que sustituye a la versión macro de max:

template <class T>

T max(T x, T y) {

return (x > y) ? x : y;

};

La ventaja de la versión en plantilla sobre la versión macro se manifiesta en cuanto a la seguridad de tipos. Por supuesto, podemos usar argumentos de cualquier tipo, no han de ser necesariamente clases. Pero cosas como estas darán error de compilación:

int a=2;

char b=’j’;

int c=max(a,b);

El motivo es que a y b no son del mismo tipo. Aquí no hay promoción implícita de tipos. Sin embargo, están permitidas todas las combinaciones en las que los argumentos sean del mismo tipo o clase, siempre y cuando que el operador > esté implementado para esa clase.

int a=3, b=5, c;

char f=’a’, g=’k’, h;

c = max(a,b);

h = max(f,g);

Bien este fue un leve repaso de la manera como se declaran plantillas tanto para clases como funciones. Espero te haya servido bastante como recordatorio, antes de que comencemos a realizar algunos ejemplos con plantillas en nuestra siguiente sesión.

Bibliografía

pozo, S. (01 de 03 de 2002). C++ con Clase. Obtenido de http://c.conclase.net/curso/?cap=040

Categorías: Noticias

0 Comentarios

Deja un comentario

Marcador de posición del avatar
یک بت کده سایت شرط بندی با واریز مستقیم بازی آنلاین کازینو مجله بخت bet303 سایت بت جت بت سایت شرط بندی یک بت سایت یک بت mafbet بت فیدو بت یک بورس سایت شرط بندی برو بت سایت شرط بندی و بازی آنلاین معتبر شانس بازی آنلاین شیر بت جت بت فارسی betbal jetbet megapari بت اپلیکیشن جت بت سیب بت اپلیکیشن سیب بت اپلیکیشن حکم آی آر توتو سایت شرط بندی bet404 بت ۴۰۴ بت ۳۰۳ بازی انفجار وان ایکس بت اپلیکیشن شرط بندی بت دانلود برنامه شرط بندی دانلود برنامه ریتزو بت