したがって、何らかの理由でコンパイルしようとすると、main.cpp: value と balance がスコープ内で宣言されていないというエラーが表示されます。
メインで #include "account.h" を使用したのに、なぜそれらが定義されていないのですか?
また、コンストラクタやデストラクタなど、私のクラスに問題はありますか?
アカウント.cpp
using namespace std;
#include <iostream>
#include "account.h"
account::account(){
}
account::~account(){
}
int account::init(){
cout << "made it" << endl;
balance = value;
}
int account::deposit(){
balance = balance + value;
}
int account::withdraw(){
balance = balance - value;
}
main.cpp
using namespace std;
#include <iostream>
#include "account.h"
//Function for handling I/O
int accounting(){
string command;
cout << "account> ";
cin >> command;
account* c = new account;
//exits prompt
if (command == "quit"){
return 0;
}
//prints balance
else if (command == "init"){
cin >> value;
c->init();
cout << value << endl;
accounting();
}
//prints balance
else if (command == "balance"){
account* c = new account;
cout << " " << balance << endl;
accounting();
}
//deposits value
else if (command == "deposit"){
cin >> value;
c->deposit();
accounting();
}
//withdraws value
else if (command == "withdraw"){
cin >> value;
cout << "withdrawing " << value << endl;
accounting();
}
//error handling
else{
cout << "Error! Command not supported" << endl;
accounting();
}
}
int main() {
accounting();
return 0;
}
account.h
class account{
private:
int balance;
public:
account(); // destructor
~account(); // destructor
int value;
int deposit();
int withdraw();
int init();
};
コードのスタイルが悪い場合は申し訳ありませんが、スタック オーバーフロー エディターで苦労しました。