我正在尝试用c ++创建一种银行游戏(仅限文本)。但是,当我尝试从int main()
调用一个类时,我遇到了问题。它给了我这两个错误:
main.cpp: In function 'int main()':
main.cpp:31:3: error: 'Vaults' was not declared in this scope
Vaults open;
^~~~~~
main.cpp:31:3: note: suggested alternative: 'puts'
Vaults open;
^~~~~~
puts
exit status 1
我是新手,并且还在学习,所以任何帮助都会受到赞赏:
我的C ++代码:
#include <iostream>
using namespace std;
class Bank{
public:
string getName(string) {
string name;
return name;
}
class Vaults{
public:
string openVault(string) { //alows user to open a vault
string vault_number;
return vault_number;
}
};
};
int main(){
//name of bank
Bank get;
Vaults get;
string bankName;
cout << "What is the name of your bank? : ";
cin >> bankName;
string getName("bankName");
//end of name of bank
//not working ???
string vault_number;
cout << "Which vault do you want to open?" << endl;
cin >> vault_number;
string openVault("vault_number");
}
答案 0 :(得分:4)
您有Vaults
作为Banks
的内部类。由于vaults
在Banks
内是公开的,您可以创建Vaults
的对象
Banks::Vaults get;
如果不打算创建内部类,最好将Vaults
作为单独的类移动,然后就可以像创建Bank
一样创建对象。
编辑:如果您的目标是创建一个主类银行以及银行包含的所有内容,您应该阅读composition。