Las interfaces en C ++ se aplican utilizando clases abstractas. Por otro lado, una clase se llama clase abstracta si al menos una función dentro de una clase se declara como una función virtual pura.
¿Cuál es la función virtual pura?
El Función virtual pura significa que los usuarios simplemente declaran la función y no su definición. El método/anulación de función se utiliza para implementar métodos virtuales puros en la clase derivada. Una función se considera pura virtual si se describe dentro de la clase como se da a continuación:
Aquí está la sintaxis de un Función virtual pura de la clase.
aula
público:
// función virtual pura
Virtual Double getArea () = 0;
privado:
doble longitud; // Longitud de una habitación
Doble ancho; // ancho de una habitación
;
¿Qué es la clase abstracta?
Una clase que fue creada específicamente con el propósito de servir como clase base se llama clase abstracta. Al menos una función virtual pura debe estar presente en la clase abstracta. Puede incluir variables y funciones estándar. Las clases derivadas que tiene la clase abstracta debe implementar una función virtual pura de la clase base, o de lo contrario se volverán abstractos.
Considere el siguiente ejemplo, en el que la clase principal ofrece una interfaz a una clase base para que la clase base se llame la función virtual pura llamada getArea (). Dos clases diferentes usan lo mismo getArea () función, pero la salida para ambos casos será diferente.
#incluir
usando el espacio de nombres STD;
forma de clase
público:
virtual int getArea () = 0;
Void setwidth (int wth)
ancho = WTH;
void setLength (int lth)
longitud = lth;
protegido:
int ancho;
int longitud;
;
Rectángulo de clase: forma pública
Público: int getArea ()
return (ancho *longitud);
;
Triángulo de clase: forma pública
Público: int getArea ()
return (ancho *longitud) / 2;
;
int main (nulo)
Rectángulo r;
Triángulo T;
Riñonal.setwidth (9);
Riñonal.setLength (5);
cout << "Area of Rectangle: " << R.getArea() << endl;
T.setwidth (9);
T.setLength (5);
cout << "Area of Triangle: " << T.getArea() << endl;
regresar 0;
Producción
Importancia de las interfaces
Cualquier clase derivada de una clase abstracta pura (interfaz) siempre debe implementar cada uno de los métodos de la clase base, i.mi., Interfaz. Los punteros de la interfaz podrían pasar a las funciones, así como a las clases, lo que nos permite llamar a las funciones de la clase derivada de allí en sí misma.
¿Cuáles son las reglas para usar interfaces?
Hay las siguientes reglas que los usuarios deben seguir para usar interfaces en C ++:
En el siguiente código, una interfaz Linuxhint, Al igual que se ha creado una clase abstracta utilizando un método virtual puro, así como su función se aplica en la clase infantil, y llamamos el returnString () Método en la función principal siguiendo las reglas de la interfaz.
#incluir
#incluir
#incluir
usando el espacio de nombres STD;
clase Linuxhint
público:
virtual String returnString () = 0;
;
Niño de clase: Public Linuxhint
público:
string returnString ()
devolver "Hola Linuxhint";
;
int main ()
niño niño_object;
Linuxhint* pntr;
pntr = & child_object;
coutregresar 0;
Producción
Conclusión
Las interfaces son clases abstractas que describen el comportamiento de la clase que necesita implementar la clase requerida en C++. Las pautas mencionadas anteriormente son cruciales para que un principiante mejore sus habilidades de programación de C ++ trabajando con las interfaces. También encontrará algunos ejemplos que lo ayudarán a aprender la implementación de interfaces en C++.