任何人都可以解释为什么我没有得到相同的答案我在类中传递一个变量?我的代码是
#include <iostream>
using namespace std;
class cl {
double k;
public:
cl(double g) { k = g; }
int get_k() { return k; }
};
int main()
{
double T = 88.564;
cl ob(T);
double h = ob.get_k();
cout << h << endl;
cout << T;
}
我想在这两种情况下得到88.564,但是为什么当我将变量传递给类时,我得到的输出等于88.提前感谢你的答案。
因为
int get_k() { return k; }
(应该是const
限定的)返回一个int
eger。尝试
double get_k() const { return k; }
您还应该使用构造函数成员初始化列表而不是在构造函数体中复制:
cl(double g) : k{ g }
{}