函数

时间:2017-05-10 19:00:31

标签: c++ function class object

我是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;
}

1 个答案:

答案 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;
}

输出:

  

球员的名字:丹尼尔

在此基础上,尝试运用你的逻辑,做你渴望的所有东西(阅读一些书籍/教程后)!