As interfaces em C ++ são aplicadas usando classes abstratas. Por outro lado, uma classe é chamada de classe abstrata se pelo menos uma função dentro de uma classe for declarada como uma função virtual pura.
Qual é a função virtual pura
O Função virtual pura significa que os usuários simplesmente declaram a função e não sua definição. Método/função A substituição é usada para implementar métodos virtuais puros na classe derivada. Uma função é considerada pura virtual se for descrita dentro da classe, conforme dado abaixo:
Aqui está a sintaxe de um Função virtual pura da sala de aula.
sala de aula
público:
// Função virtual pura
Virtual duplo getarea () = 0;
privado:
comprimento duplo; // comprimento de uma sala
largura dupla; // largura de uma sala
;
O que é aula abstrata
Uma classe que foi criada especificamente com o objetivo de servir como uma classe base é nomeada Classe abstrata. Pelo menos uma função virtual pura deve estar presente na classe abstrata. Pode incluir variáveis e funções padrão. As classes derivadas que a classe abstrata deve implementar uma função virtual pura da classe base, ou então eles se tornarão abstratos.
Considere o exemplo a seguir, no qual a classe pai fornece uma interface a uma classe base para que a classe base aplique uma função virtual pura chamada getarea (). Duas classes diferentes usam o mesmo getarea () função, mas a saída para ambos os casos será diferente.
#incluir
usando namespace std;
forma de classe
público:
virtual int getarea () = 0;
Void SetWidth (int wth)
largura = wth;
Void SetLength (int lTH)
comprimento = lth;
protegido:
int largura;
comprimento int;
;
Retângulo de classe: forma pública
público: int getarea ()
retornar (largura *comprimento);
;
Triângulo de classe: forma pública
público: int getarea ()
retornar (largura *comprimento) / 2;
;
int main (vazio)
Retângulo r;
Triângulo T;
R.setWidth (9);
R.SetLength (5);
cout << "Area of Rectangle: " << R.getArea() << endl;
T.setWidth (9);
T.SetLength (5);
cout << "Area of Triangle: " << T.getArea() << endl;
retornar 0;
Saída
Importância das interfaces
Qualquer classe derivada de uma classe abstrata pura (interface) deve sempre implementar cada um dos métodos da classe base, i i.e., Interface. Os ponteiros da interface podem ser transmitidos para as funções e as classes, permitindo que chamamos as funções da classe derivada de lá em si.
Quais são as regras para usar interfaces
Existem seguintes regras que os usuários devem seguir para o uso de interfaces no C ++:
No código a seguir, uma interface Linuxhint, Como uma classe abstrata, foi criada usando um método virtual puro, bem como sua função é aplicada na classe infantil, e chamamos o returnString () Método na função principal seguindo as regras da interface.
#incluir
#incluir
#incluir
usando namespace std;
Classe linuxhint
público:
Virtual String returnString () = 0;
;
Criança Criança: Public Linuxhint
público:
String ReturnString ()
retornar "Hello Linuxhint";
;
int main ()
criança child_object;
linuxhint* pntr;
pntr = & child_object;
coutretornar 0;
Saída
Conclusão
Interfaces são classes abstratas que descrevem o comportamento da classe que precisa implementar a classe necessária em c++. As diretrizes acima mencionadas são cruciais para um iniciante melhorar suas habilidades de programação C ++ trabalhando com as interfaces. Você encontrará alguns exemplos também que ajudarão você a aprender a implementação de interfaces em C++.