类中的自动调用成员函数

automatic calling member functions in class

本文关键字:调用 成员 函数      更新时间:2023-10-16

我正在学习c++;最近我遇到了一个代码,其中代码的公共成员函数被自动调用。我对构造函数有一些共同的想法,但我认为这与那个主题无关;

这是代码:

#include <iostream>
using namespace std;
class Humidity;
class Temperature
{
private:
    int m_temp;
public:
    Temperature(int temp=0)
    {
        m_temp = temp;
    }
    void seTemperature(int temp)
    {
        m_temp = temp;
    }
    friend void printWeather(const Temperature &temperature,
                             const Humidity &humidity);
};
class Humidity
{
private:
    int m_humidity;
public:
    Humidity(int humidity=0)
    {
        m_humidity = humidity;
    } void seHumidity(int humidity)
    {
        m_humidity = humidity;
    } friend void printWeather(const Temperature &temperature,
                               const Humidity &humidity);
};
void printWeather(const Temperature &temperature, const Humidity &humidity)
{
    std::cout << "The temperature is " << temperature.m_temp <<" and the humidity is " << humidity.m_humidity << 'n';
}
int main()
{
    Humidity hum(10);
    Temperature temp(12);
    printWeather(temp, hum);
    return 0;
}

我的问题是:为什么会调用void seTemperature(int-temp)和seHumidity(int-disture)函数?任何帮助都将不胜感激。

在本例中没有调用这两个函数。请参阅:http://cpp.sh/8te7

但是,已经调用了这两个类的构造函数(Humidity(int)Temperature(int)),它们正在做一些事情,并且正在做一些类似于您提到的两个函数(seHumidityseTemperature)的事情。