我是C ++的新手,最近开始为学校课程开设课程。 我真的不知道什么是错的,并在创建一个对象"播放器"对于Hero课程,我不能在以后的主菜单"中使用该对象。函数调用方法,因为我得到"标识符未定义"错误!
有什么建议吗?
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
class Hero
{
private:
//member variables
string playername;
public:
//constructor
Hero(string name)
{
playername = name;
}
string getName()
{
return playername;
}
};
//start 1
void mainMenu()
{
cout << " - - - |" << player.getName() << "- - - \n";
}
void setPlayer()
{
string name;
cout << "Hello, what is your name? " << endl;
getline(cin, name);
Hero player(name);
mainMenu();
}
int main()
{
int selection;
cout << "Shadow of darkness\n ";
cout << "1.) Start ";
cout << "2.) Exit ";
cin >> selection;
if (selection == 1)
setPlayer();
else if (selection == 2)
exit (0);
else
main();
return 0;
}
答案 0 :(得分:0)
好的,从main()
调用main()
是禁止的(如here所述),所以不要这样做。
以下是您班级的一个典型示例(该课程很酷,我只是为了好玩添加了初始化列表):
#include <iostream>
#include <string>
using namespace std;
class Hero
{
private:
//member variables
string playername;
public:
//constructor
Hero(string name) : playername(name)
{
}
string getName()
{
return playername;
}
};
int main()
{
Hero player("Daniel");
cout << "Player's name: " << player.getName() << std::endl;
return 0;
}
输出:
球员的名字:丹尼尔
在此基础上,尝试运用你的逻辑,做你渴望的所有东西(阅读一些书籍/教程后)!