Red de conocimiento del abogados - Bufete de abogados - Una pregunta C sobre la herencia de plantillas

Una pregunta C sobre la herencia de plantillas

#include lt; iostreamgt;

usando el espacio de nombres std;

templatelt; int n = 1gt //////El parámetro de plantilla definido es un Los datos de tipo int tienen como valor predeterminado 1 si no proporciona un parámetro

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

{

público:

void show()

{

for(int i = 0; i lt; n; i) /////n aquí está el número en la plantilla de arriba

{

cout lt; 'b';

};

class Línea: public Pointlt; 10gt; ///Define otra clase que hereda pointlt; ////Es decir, su clase base es una base n =10; clase

{

};

int main()

{

punto gt; ////El objeto de la clase base se define aquí y no se proporcionan 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í es fijo porque declaraste de forma fija que su clase base es 10

cout lt; "Un punto: "; >

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

cout lt; "\nUna línea: "; mostrar(); ////////////salida

coutlt;lt;endl;

return 1

}