C ++构造函数参数:string,int,int,int

时间:2018-05-09 05:16:38

标签: c++ class constructor

我试图声明一个带有字符串和三个int的四参数构造函数。根据我的分配指南,我不能在代码中的任何地方使用 using namespace std

实现文件中的构造函数是:

Player (std::string w, int x, int y, int z)
{
}

我有类规范的头文件,类函数实现文件和主方法文件。 我在主要方法文件和实现文件中都使用了#include进行了试错,但是IDE一直在说“'”'预期或分号。但是分号不起作用,因为这是构造函数的定义。我很难过。

2 个答案:

答案 0 :(得分:2)

main.cc

#include "player.h"

int main() {
    Player x("player_x", 1, 2, 3);
}

player.h

#ifndef YOUR_PROJECT_PLAYER_H
#define YOUR_PROJECT_PLAYER_H
#include <string>

class Player {
 public:
  Player(std::string w, int x, int y, int z);
};

#endif

player.cc

#include "player.h"

Player::Player(std::string w, int x, int y, int z) {}

答案 1 :(得分:1)

不使用&#34; using namespace std;&#34; :好,使用&#34; using std::string;&#34;代替。仅在源文件中,而不是头文件,我强烈推荐。

如果定义在类声明之外,则必须在构造函数(和成员函数)名称之前编写类名:

Player::Player( std::string w, ...)
{
}

void Player::func( ...)
{
}