C++ 如何在C++;?

C++ 如何在C++;?,c++,object,C++,Object,例如: 我想从数组中减去,帐户[1]。GetBalance 当我尝试执行帐户[1].GetBalance=account[1].GetBalance-drawing时,它表示表达式不可赋值 如何获取帐户[1].GetBalance中的值来操作数据 void Account::SetBalance(double balance) { balance_ = balance; } double Account::GetBalance() { return balance_;

例如:

我想从数组中减去,
帐户[1]。GetBalance

当我尝试执行
帐户[1].GetBalance=account[1].GetBalance-drawing
时,它表示表达式不可赋值

如何获取帐户[1].GetBalance中的值来操作数据

void Account::SetBalance(double balance)
{

    balance_ = balance;

}

double Account::GetBalance()
{

    return balance_;

}

我假设问题在于GetBalance是一个成员函数

您需要编写一个SetBalance函数,将新的balance作为参数,并在GetBalance之后使用parenthises:

account[1].SetBalance(account[1].GetBalance() - withdrawal)
更好的是,在您的帐户对象上设置一种方法来为您进行取款:

void Account::Withdraw(int amount)
{
    m_balance -= amount;
}
那么

我猜:

account[1].SetBalance(account[1].GetBalance() - withdraw);

我猜基本上你想要返回一个左值

double& Account::GetBalance()
{

    return balance_;

}

现在这个
account[1].GetBalance()=account[1].GetBalance()-drawing()
应该可以用了
GetBalance
是变量还是函数?有SetBalance吗?没有设置余额的函数吗?在上面的函数调用中,你得到了平衡吗?你是如何理解这个代码的,而不理解C++中的函数是如何工作的?你是一名C#/VB程序员,正在读一本“学习C++”的书吗?不要求卑鄙,但你似乎真的错过了上述代码的一些基本知识;请考虑在最后一章中浏览你跳过的网页,诚然,跳过章节。但我现在回头看前面的章节,我不知道你可以在这样的函数中嵌套一个函数!太棒了。通常,我会为它创建一个函数,但我不确定是否允许我们这样做。不,不要嵌套它。将代码保持在它所属的位置—以及它的其余实现。我只是想给你看相关的片段。也许“nest”是个错误的词。我已经有了一个SetBalance函数,所以你列出的最上面一行代码工作得很好。你试过了吗?它仍然没有编译。(你的方法风格不好——这相当于公开你的数据)我不知道你为什么说它的风格不好,如果我们想让数据公开,很多地方我们都有这样的要求,例如,如果你在向量和地图中看到操作符[],它们有左值[aka refresents retuned]这是一种糟糕的风格,因为
GetX/SetX
应该(预期)成对工作。如果我读了一段代码,看到它调用了
GetX
,但没有调用
SetX
,我假设
X
没有改变。这种风格的假设不适用于
[]
,因为自从C数组以来,这两种角色都使用了这种假设。
double& Account::GetBalance()
{

    return balance_;

}