入门有点看不太懂,有没有人可以解答一下

img


我写一个汽车类的时候,包括参数:id,power,price
为啥子要变成m_id这样的,麻烦大家帮我具体解答一下,谢谢

这是一种约定
好比为什么解方程,x是未知数?其实完全可以是别的数,这就是约定
按照约定来,排除了很多别的可能性,降低别人理解你代码的难度

【以下回答由 GPT 生成】

问题解答:

在书写汽车类代码时,使用m_id而不是直接使用id参数可以提高代码的可读性和可维护性。m_id表示该成员变量是这个类的成员,而不仅仅是参数。这种命名约定可以清楚地表明这个成员变量是属于该类的,并且可以避免与其他同名的变量产生冲突。

可以通过以下几个方面详细解答:

  1. 可读性:在代码中使用m_id可以更清晰地表示这个变量是该类的成员变量,而不仅是一个局部变量或参数。这有助于他人阅读代码时更容易理解变量的作用和范围。

  2. 可维护性:当类的成员变量和方法参数具有相同的名称时,使用m_前缀可以避免命名冲突。这样做可以确保在代码中任何地方都能清楚地区分成员变量和方法参数。

  3. 代码约定:在很多C++项目中,使用m_前缀作为成员变量的命名约定已经成为了一种常见的做法。这样,当其他开发人员看到m_id时,就会知道这是该类的成员变量。

以下是示例代码,展示了使用m_id的情况:

class Car {
private:
    int m_id;
    int m_power;
    double m_price;

public:
    Car(int id, int power, double price) : m_id(id), m_power(power), m_price(price) {}

    int getId() const {
        return m_id;
    }

    void setId(int id) {
        m_id = id;
    }

    // 其他成员函数...
};

int main() {
    Car car1(1, 200, 10000.0);
    std::cout << car1.getId() << std::endl;  // 输出: 1

    car1.setId(2);
    std::cout << car1.getId() << std::endl;  // 输出: 2

    return 0;
}

希望以上解答对您有所帮助!如果还有其他问题,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

m是member(成员)的缩写,让别人知道这是成员变量