撤回関数に戻り値の型がありません。そのはず:double bankAccount::withdraw()
それ以外のbankAccount::withdraw()
ヘッダーの関数プロトタイプとコンパイラのエラー コードを確認してください。たとえば、コピーしてideoneに貼り付けると、すぐに答えが得られます。
prog.cpp:25:23: エラー: ISO C++ は、型のない 'withdraw' の宣言を禁止しています [-fpermissive] prog.cpp:25:1: エラー: 'int bankAccount::withdraw()' のプロトタイプは、いずれとも一致しませんクラス 'bankAccount' prog.cpp: 21:16: エラー: 候補は: double bankAccount::withdraw()
幸運を
編集:
- 明示するのを忘れていましたが、withdraw メソッドに return ステートメントも追加する必要があります。
- 名前、アドレス、およびユーザー名に静的配列を本当に使用するかどうかを自問する必要があります。そして、私の 2 セントは、ユーザー用に別のクラスを作成することです。これは、アドレスが銀行口座に論理的に属していないためです (とにかく私には属していません)。
- Deposit は引数として double を取り、void を返す必要があります。
- 引き出し額と入金額のメンバー変数は必要ありません。それらをローカル変数にするか、以下のコードのようにメソッドに引数として渡すことをお勧めします。
これは代替の実装です。名前とパスワードを残したことに注意してください。ただし、実際にはこれらは別のクラスに移動する必要があります。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class bankAccount
{
public:
int accNo;
int password;
vector<string> name;
vector<string> address;
vector<string> username;
private:
double balance;
public:
bankAccount(double deposit) : balance(deposit) {}
double checkBalance() { return balance; }
void deposit(double amount);
void withdraw(double amount);
};
void bankAccount::deposit(double amount)
{
balance += amount;
}
void bankAccount::withdraw(double amount)
{
if (balance > amount)
balance = (balance - amount);
}
int main(int argc, char* argv[])
{
bankAccount someOnesAccount = bankAccount(20.0);
someOnesAccount.deposit(30);
someOnesAccount.withdraw(15);
cout << someOnesAccount.checkBalance();
return 0;
}
これがもう少し役立つことを願っています。以前の悪い答えをお詫びします。また、このコードにはまだ改善すべき点がたくさんあることに注意してください。