Funciones amigas

Funciones Amigas El lenguaje C++ es compatible y hereda todas las características del lenguaje C. El lenguaje C es un le

Views 196 Downloads 3 File size 218KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Funciones Amigas El lenguaje C++ es compatible y hereda todas las características del lenguaje C. El lenguaje C es un lenguaje estructurado y solo permite definir funciones (no existen las clases). En C++ seguimos pudiendo definir funciones independientes fuera de una clase pero no es conveniente para una buena organización de nuestro código. En algunas situaciones puede ser conveniente definir una función independiente pero que tenga acceso a los atributos privados y protegidos de una clase, esto se logra con las funciones amiga (friend) Para definir una función amiga debemos anteceder la palabra clave friend y cuando la llamamos como realmente no pertenece a la clase sino que es amiga la invocamos por su nombre y no antecedemos un nombre de objeto.

Problema: Crear una clase llamada Temperatura que permita inicializar la temperatura mínima, máxima y actual. Definir una función amiga que reciba dos objetos de la clase Temperatura y retorne la temperatura promedio actual. Programa: #include using namespace std; class Temperatura { double minima, maxima, actual; public: Temperatura(double min, double max, double act){ minima = min; maxima = max; actual = act; } friend double temperaturaMedia(const Temperatura &t1, const Temperatura &t2); }; double temperaturaMedia(const Temperatura &t1, const Temperatura &t2) { double pro =(t1.actual + t2.actual)/2; return pro; } int main() { Temperatura temperatura1(10.0, 20.0, 15.0); Temperatura temperatura2(12.0, 25.0, 17.0); cout