gpt4 book ai didi

c++ - 为什么我不能在其他成员函数中使用我的构造函数中的变量 "i"? C++

转载 作者:行者123 更新时间:2023-11-28 06:12:45 30 4
gpt4 key购买 nike

我正在为我的编程方法创建一个 Bank 程序,出于某种原因,我似乎无法在任何构造函数中使用我分配给变量 i 的值其他成员函数。例如,如果用户输入是 6 并且 i 被构造函数计算为 0.005,则该值 (0.005) 不会传递给 MakePayment功能。相反,i 被重置为零。

任何人都可以阐明这一点吗?我的代码如下。

  Loan_Data::Loan_Data(double p, double n, double i)
{
cout << "Enter the loan amount: $";
cin >> p;
cout << "Enter the loan length: ";
cin >> n;
cout << "Enter your credit score: ";
cin >> i;

i = i / 100;
i = i / 12;
n = n * 12;
Bal = p;
A = (p * ((i * pow(1 + i, n)) / (pow(1 + i, n) - 1)));

cout << "A is: " << A << endl;
cout << "Bal is: " << Bal << endl;
cout << "i is: " << i << endl;
}
void Loan_Data::MakePayment(double pay)
{
cout << "i is: " << i << endl;
cout << "Bal is: " << Bal << endl;
cout << "Enter payment amount: $";
cin >> pay;

cout << "Bal is: " << Bal << endl;

Bal = ((i + 1) * Bal) - pay;
cout << "i is: " << i << endl;
cout << "Bal is: " << Bal << endl;
cout << "Pay is: " << pay << endl;
cout << "A is: " << A << endl;
A = pay;
cout << "A is: " << A << endl;
}

最佳答案

i = i/100; 设置的是参数i,而不是成员变量i(假设存在这样的变量)。参数是隐藏成员。

您可以通过使用 this->i(即 this->i = i/100)或更改参数名称来解决此问题与成员变量的名称发生冲突。

但也许你应该去掉这个参数,因为你实际上并没有使用它(cin >> i; 核对它的任何值,使得传递它完全没有意义第一名)。

关于c++ - 为什么我不能在其他成员函数中使用我的构造函数中的变量 "i"? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30929114/

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