C ++中的小数点和类

问题描述 投票:-2回答:1

任何人都可以解释为什么我没有得到相同的答案我在类中传递一个变量?我的代码是

#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.提前感谢你的答案。

c++ class double
1个回答
3
投票

因为

int get_k() { return k; }

(应该是const限定的)返回一个integer。尝试

double get_k() const { return k; }

您还应该使用构造函数成员初始化列表而不是在构造函数体中复制:

cl(double g) : k{ g }
{} 
© www.soinside.com 2019 - 2024. All rights reserved.