fork download
  1. //Fuente: http://w...content-available-to-author-only...p.com/cpp-tutorial/813-friend-functions-and-classes/
  2. #include<iostream>
  3. class Humidity;
  4.  
  5. class Temperature
  6. {
  7. private:
  8. int m_temp;
  9. public:
  10. Temperature(int temp=0) { m_temp = temp; }
  11.  
  12. void setTemperature(int temp) { m_temp = temp; }
  13.  
  14. friend void printWeather(const Temperature &temperature,
  15. const Humidity &humidity);
  16. };
  17.  
  18. class Humidity
  19. {
  20. private:
  21. int m_humidity;
  22. public:
  23. Humidity(int humidity=0) { m_humidity = humidity; }
  24.  
  25. void setHumidity(int humidity) { m_humidity = humidity; }
  26.  
  27. friend void printWeather(const Temperature &temperature,
  28. const Humidity &humidity);
  29. };
  30.  
  31. void printWeather(const Temperature &temperature,
  32. const Humidity &humidity)
  33. {
  34. std::cout << "The temperature is " << temperature.m_temp <<
  35. " and the humidity is " << humidity.m_humidity << '\n';
  36. }
  37.  
  38. int main()
  39. {
  40. Humidity hum(10);
  41. Temperature temp(12);
  42.  
  43. printWeather(temp, hum);
  44.  
  45. return 0;
  46. }
  47.  
  48.  
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
The temperature is 12 and the humidity is 10