gpt4 book ai didi

c++ - C++中Class的成员变量在哪里初始化

转载 作者:太空狗 更新时间:2023-10-29 20:54:25 24 4
gpt4 key购买 nike

我刚开始使用 C++。我有个问题。我应该在哪里初始化类成员变量?我已经使用一些成员函数为成员变量分配了一些值。但是静态分析工具提示构造函数中的成员初始化。请参阅以下示例:

测试.cpp

#include<iostream>
using namespace std;

class Point {
private:
int x;
int y;
public:
Point(int r)
{
y = r;
}

inline void setXval(int x_val) {
x = x_val;
}
};

这里,该工具表示 x 未在构造函数中初始化。但是我在成员函数中设置 x 值。这样做是正确的方法还是我们应该始终在默认构造函数中初始化所有成员?任何帮助深表感谢。提前致谢!

最佳答案

所有变量都应在构造函数中获得显式值。您没有为 x 赋予任何值,因此您的工具是正确的。您以后可能会或可能不会调用为 x 设置值的成员函数 - 您不能指望您(或您的代码的用户)会在需要 的值之前调用该函数x 某处。

关于c++ - C++中Class的成员变量在哪里初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39239786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com