编程新手,类的问题,需要帮助来显示我哪里出了问题

New to programming, Problems with classes, need help to show where im going wrong

本文关键字:问题 显示 新手 编程 帮助      更新时间:2023-10-16

我忘了包含字符串头文件

我正在尝试制作一个简单的CharacterCreating和获取信息程序,以熟悉类。

当"Character"是一个结构而不是一个类时,我设法获取/设置了信息,但我知道我不能在其中包含多个字符的信息。

#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
class Character
{
    public:
        //short Cid;
        string Name;
        short Race;
        short Class;
        short Age;      
};
class CharacterInitialize : public Character
{
    public:
        void SetName(Character*)
        {
            cout << "Enter Name Of Your Character: ";
            cin.getline(Name, 40);
        }
        void SetAge(Character*)
        {
            cout << "Enter The Age Of Your Character: ";
            cin >> Age;
        }
        void SetClass(Character*)
        {
            cout << "Enter Your Character's Class n 1.Archern 2.Warriorn 3.Mage";
            cin >> Class;
        }
        void SetRace(Character*)
        {
            cout << "Enter Your Character's Race n 1. Elfn 2. Humann 3.Gaint";
            cin >> Race;
        }
};
class CharacterInfo : public Character
{
    public:
        void GetName(Character*)
        {
            cout << Name;
        }
        void GetAge(Character*)
        {
            cout << Age;
        }
        void GetClass(Character*)
        {
            switch (Class)
            {
            case 1:
                cout << "Archer";
                break;
            case 2:
                cout << "Warrior";
                break;
            case 3:
                cout << "Mage";
                break;
            }
        }
        void GetRace(Character*)
        {
            switch (Race)
            {
            case 1: 
                cout << "Elf";
                break;
            case 2:
                cout << "Human";
                break;
            case 3:
                cout << "Gaint";
                break;
            }
        }
};
int main()
{
    return 0;
}

是否可以在类中存储多个字符的信息?

此外,我如何使用枚举存储"类"answers"竞赛"的数据,

以及如何获得字符串输入?我听说cin只有1个字符,cin.getline是唯一(也是正确的(方法吗?

编辑的新代码:

#include "stdafx.h"
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
class Character
{
    public:
        //short Pid;
        string Name;
        short Race;
        short Class;
        short Age;
        void SetName()
        {
            cout << "Enter Name Of Your Character: ";
            getline(cin, Name);
        }
        void SetAge()
        {
            cout << "Enter The Age Of Your Character: ";
            cin >> Age;
        }
        void SetClass()
        {
            cout << "Enter Your Character's Class n 1.Archern 2.Warriorn 3.Mage";
            cin >> Class;
        }
        void SetRace()
        {
            cout << "Enter Your Character's Race n 1. Elfn 2. Humann 3.Gaint";
            cin >> Race;
        }
        void GetName()
        {
            cout << Name;
        }
        void GetAge()
        {
            cout << Age;
        }
        void GetClass()
        {
            switch (Class)
            {
            case 1:
                cout << "Archer";
                break;
            case 2:
                cout << "Warrior";
                break;
            case 3:
                cout << "Mage";
                break;
            }
        }
        void GetRace()
        {
            switch (Race)
            {
            case 1:
                cout << "Elf";
                break;
            case 2:
                cout << "Human";
                break;
            case 3:
                cout << "Gaint";
                break;
            }
        }
};
int main()
{
    Character User;
    User.SetName();
    User.GetName();
    return 0;
}

这个有什么问题吗?

我没有包括"字符串";头文件。

                    #include <iostream>
                    #include <string>
                    using namespace std;
                    int main ()
                    {
                         string mystr;
                         cout << "What's your name? ";
                         getline (cin, mystr);
                         cout << "Hello " << mystr << ".n";
                         cout << "What is your favorite team? ";
                         getline (cin, mystr);
                         cout << "I like " << mystr << " too!n";
                         return 0;
                    }
                        here its for taking strings in cin
  you have done this
  class Character
  {
     public:
      //short Cid;
      string Name;
      short Race;
      **short Class;**
      short Age;      
   };
   class is an predefined word for the language u cannot use it like this
   please change and try it.