La Red de Conocimientos Pedagógicos - Conocimientos educativos - Una pregunta de C++ sobre la herencia de plantillas

Una pregunta de C++ sobre la herencia de plantillas

#include

usando el espacio de nombres std;

template //////El parámetro de plantilla está definido como un tipo de datos int tiene como valor predeterminado 1 si no proporciona parámetros

punto de clase /////////Clase base de definición de clase

{

público:

void show()

{

for(int i = 0; i < n; ++i) /////n aquí Es el número en la plantilla de arriba

{

cout << 'b'

}

}

;

};

class Línea: public Point<10> ///Define otra clase que hereda el punto<10>////Es decir, su clase base es n=10 Clase base de

{

}

int main()

{

Punto<> pt ; ///El objeto de la clase base se define aquí sin parámetros, por lo que la clase base usa el valor predeterminado. El valor predeterminado que usted proporcionó es 1, por lo que n=1.

Line ln; /////La subclase está definida pero n=10 aquí está fijo porque declaraste de manera fija que su clase base es 10

cout << "Un punto:

pt; .show(); ///////////Salida

cout << "\nUna línea: "

ln.show(); /////////Salida

cout<

return 1

}