在类中自动调用成员函数 我正在学习C++。最近我遇到了一个代码,其中代码的公共成员函数被自动调用

在类中自动调用成员函数 我正在学习C++。最近我遇到了一个代码,其中代码的公共成员函数被自动调用,c++,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;

代码如下:

#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;
}
#包括
使用名称空间std;
类湿度;
课堂温度
{
私人:
内部温度;
公众:
温度(内部温度=0)
{
m_temp=温度;
}
空隙设置温度(内部温度)
{
m_temp=温度;
}
天气(恒定温度和温度),
恒定湿度和湿度);
};
班级湿度
{
私人:
室内湿度;
公众:
湿度(内部湿度=0)
{
m_湿度=湿度;
}真空湿度(内部湿度)
{
m_湿度=湿度;
}天气(恒定温度和温度),
恒定湿度和湿度);
};
真空打印天气(恒定温度和温度、恒定湿度和湿度)
{

本例中未调用这两个函数。请参见:


但是,这两个类的构造函数(
湿度(int)
温度(int)
)已经被调用,它们正在做一些事情,它们正在做一些与您提到的两个函数类似的事情(
sehydrome
settemperature
).

是什么让你真正认为这些函数被调用了?成员变量是通过类实例的构造来设置的。这些函数不会被调用。值10和12是让我认为函数被调用的输出;我对构造函数的了解是,如果我想使用构造函数,那么函数名和类name应该是相同的..这里我认为构造函数最初用于将0分配给变量;无法计算10和12是如何分配的?@Rashik
hum(10);
assigns
10
超过了构造函数中的默认参数值定义。@πάνταῥεῖ 谢谢,我明白了。。