我知道這裏有很多這樣的問題,但我不確定我在做什麼錯誤。我有兩個類,Player和HumanPlayer。 HumanPlayer應該從Player類繼承。當我試圖做的HumanPlayer.cpp文件的建設者和編譯,我得到以下錯誤:無法解析的外部錯誤
錯誤2錯誤LNK1120:1周無法解析的外部
錯誤1個錯誤LNK2001:無法解析的外部符號「公:__thiscall Player :: Player(void)「(?? 0Player @@ QAE @ XZ)
我讀過你需要在派生類的構造函數中顯式調用基類,所以我相信我已經完成了因爲編譯器不會拋出關於它的錯誤。如果有人能指出我的方向正確,那會很棒。我還使用微軟的Visual Studio 2010中
以下是文件中的問題:
//Player.h
#pragma once
#include <string>
using namespace std;
class Player{
public:
Player();
Player(const string &);
void setName(string);
string getName();
void sowSeeds();
void play();
private:
string name;
};
//Player.cpp
#include <iostream>
#include "Player.h"
using namespace std;
//constructor
Player::Player(const string &enteredName){
name = enteredName;
}
//HumanPlayer.h
#pragma once
#include <string>
#include "Player.h"
using namespace std;
class HumanPlayer : public Player{
public:
HumanPlayer();
HumanPlayer(const string &);
private:
};
//HumanPlayer.cpp
#include <iostream>
#include "Player.h"
#include "HumanPlayer.h"
using namespace std;
//constructor
HumanPlayer::HumanPlayer() : Player(){
}
HumanPlayer::HumanPlayer(const string &enteredName) : Player(enteredName){
}
非常感謝。我根本沒有看到。添加了構造函數並編譯。 – Cuthbert