gpt4 book ai didi

c++ - 函数返回不需要的值

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

这是我第一次在此网站上发帖,因此我将以建设性的方式感谢所有批评。我正在学习使用 C++ 编写面向对象的编程,并决定对 ATM 机器进行简单的模拟,该机器接收用户输入并对其进行处理(即 makeDeposit、checkBalance 等)。

我的问题:BankAccount 方法:makeDeposit 最终将 getBalance() 的输出更改为前缀为零:例如:makeDeposit(10) 会将 getBalance() 从 0 -> 010 更改。

`//BankAccout.h
#ifndef BANK_ACCOUNT_H
#define BANK_ACCOUNT_H
#include <string>
class BankAccount {

private:
float m_accountBalance;
public:
BankAccount ();
float getBalance();

/*Can I pass by value or would reference be necessary?*/
void makeDeposit(BankAccount&, int);

};

#endif`



//BankAccout.cpp
#include "BankAccount.h"

#include <iostream> //remove once done
using namespace std; //remove once done

BankAccount::BankAccount () {
m_accountBalance = 0;
}

float BankAccount::getBalance() {
return m_accountBalance;
}

//increment the object balance based on ammount
void BankAccount::makeDeposit(BankAccount &bao, int deposit_amount) {
bao.m_accountBalance += deposit_amount;
}



int main () {
BankAccount b1;
cout << b1.getBalance(); //returns 0
b1.makeDeposit (b1,1); //returns 01
cout << b1.getBalance();
//Ex.
//makeDepost(b2, 10);
//b2.getBalance(); will retrun 010

return 0;
}

任何提示也将不胜感激,因为我即将参加最粗略的数据结构类(class),对面向对象编程的经验很少。

此外,有人可以向我解释什么是 subversion 以及它是如何使用的。

最佳答案

您只需打印 0值到控制台,然后添加 1到天平并再次将天平打印到控制台。结果? 01 .

如何避免?添加<< endl到每个 cout 的末尾。然后您将在单独的行中打印每个值。示例:
cout << b1.getBalance();更改为 cout << b1.getBalance() << endl;

你的第二个问题(虽然与第一个问题无关):
Subversion(也称为 SVN)是一个软件版本控制系统。您可以经常使用它进行备份,并且 - 在一切之前 - 您可以与您的团队协作处理您的项目。更多信息:http://en.wikipedia.org/wiki/Apache_Subversion

关于c++ - 函数返回不需要的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12329451/

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