我正在尝试构建一个数据库类来存储玩家类的信息,例如他们的姓名,出生年份等等。我已经完成了玩家类,但我很难将数据实现到数据库中类。在这个课程中,我创建了两个函数,一个用于将播放器添加到数据库,另一个用于搜索播放器。代码如下所示:
#include <iostream>
#include <string>
#include "player.h"
using namespace std;
const int kMaxPlayers = 100;
class playerDB {
public:
playerDB() = default;
~playerDB() = default;
//adds player to the Database
Player& AddPlayer(string in_first_name, string in_last_name, string in_team_name, string in_goals, string in_assists){
Player& = in_first_name, in_last_name, in_team_name, in_goals, in_assists;
//I don't know if this is correct it isn't compiling as it is.
}
//allows one to find a player based on their last name
Player& GetPlayer(string in_last_name){
return(in_last_name);
// this is still temporary, I just have it here to let it compile
}
private:
Player players_[kMaxPlayers];
//stores the individual record in the array
int next_slot_;
//tracks the next space in the array to place a new record
};
我无法弄清楚如何将addPlayer数据放入Player player中制作的数组中。再次感谢任何帮助,我非常感谢并且对于凌乱的代码感到抱歉我仍然是c ++的新手,我正在努力变得更好。感谢。
答案 0 :(得分:2)
你正在尝试一些超出自己能力的东西,我尊重这一点,但在这种情况下,它是一种无法学习的东西。
当你编写软件时,从一个非常简单的东西开始,然后一点点地增加复杂性。
class firstDB {
public:
void assignThing(int k, int t)
{
things[k] = t;
}
int getThing(int k)
{
return(things[k]);
}
private:
int things[5];
};
一旦你完美地工作,你可以调整它来做更复杂的任务,比如跟踪事物的数量,添加事物和搜索事物,或者你可以开始使用像{{1}这样的容器已经有这些功能。
一旦 完美地运作,您就可以开始std::vector
课程了。如果你想把玩家放在一个容器里,他们必须表现得像惰性货物,现在这意味着他们必须是可分配和可复制的。它们可能是,但在某些时候你将不得不学习赋值运算符和复制构造函数。
假设它们表现良好,您可以使用以下方法调整数据库类:
Player
请记住:开始小而简单,慢慢建立,每一步测试,永远不会添加到不起作用的代码。