
POO C++ Interfaz.
Publicado por CRISTIAN NICOLAS (4 intervenciones) el 10/04/2016 04:40:49
Hola tenngo una consulta respecto de las interfaz.
Tengo la clase Forma y cada forma le puedo calcular el area, entonces hice una clase abstracta que se llama Calculable(para dar una idea) entonces hago que Forma implemente esta interfaz donde hereda el método darArea() de Calculable.
Ahora 2 preguntas.
La clase Forma debe tener en su firma declarada de manera virtual el método darArea()? Porque las clases hijas, Circulo, Cuadrado son las que la van a implemente y no area.
Después otra pregunta, tengo un método que quiere devolver algo que implemente esta interfaz
por ejemplo.
Calculable funcionAlgo(char cadena);
Para dar un contexto yo quiero pasarle a esta funcion algo como "cuadrado 2" donde sería la figura y cuando mi su lado o
"rectangulo 2 4" como a mi no importa que clase especificamente es, solo me interesa que le pueda pedir el area, cuando escribo esta firma me dice que el tipo Calculable no se puede resolver.
Obviamente existen otras clases que también implementan esta interfaz por eso no pongo
Forma funcionAlgo(char cadena);
Muchas gracias.
Tengo la clase Forma y cada forma le puedo calcular el area, entonces hice una clase abstracta que se llama Calculable(para dar una idea) entonces hago que Forma implemente esta interfaz donde hereda el método darArea() de Calculable.
Ahora 2 preguntas.
La clase Forma debe tener en su firma declarada de manera virtual el método darArea()? Porque las clases hijas, Circulo, Cuadrado son las que la van a implemente y no area.
Después otra pregunta, tengo un método que quiere devolver algo que implemente esta interfaz
por ejemplo.
Calculable funcionAlgo(char cadena);
Para dar un contexto yo quiero pasarle a esta funcion algo como "cuadrado 2" donde sería la figura y cuando mi su lado o
"rectangulo 2 4" como a mi no importa que clase especificamente es, solo me interesa que le pueda pedir el area, cuando escribo esta firma me dice que el tipo Calculable no se puede resolver.
Obviamente existen otras clases que también implementan esta interfaz por eso no pongo
Forma funcionAlgo(char cadena);
Muchas gracias.
Valora esta pregunta


0