【发布时间】:2014-04-22 06:54:42
【问题描述】:
// 在我正在制作的垄断游戏中,我有一个名为 Square 的基类。从中派生的类之一称为 freeParking。 freeParking 类有一个名为 playSquare 的函数,我正在尝试调用此函数,但是 main 中的 playSquare 函数调用给了我错误。这是我尝试使用的代码:
//方形基类
#pragma once
#include <string>
#include <iostream>
using namespace std;
class Square
{
public:
Square(string d);
string displayName();
private:
string squareName;
};
// 继承自 Square 类的 freeParking 类
#pragma once
#include "Square.h"
#include "Player.h"
#include <iostream>
class freeParking : public Square
{
public:
freeParking(string a);
void playSquare(Player *player, Player *otherPlayer);
private:
};
//freeParking playSquare函数
#include "FreeParking.h"
using namespace std;
freeParking::freeParking(string a)
:Square(a)
{
}
void freeParking::playSquare(Player *player, Player *otherPlayer)
{
cout << "Player " << player->returnPlayerPiece() << " lands on free parking" << endl;
cout << "Player " << player->returnPlayerPiece() << " is resting" << endl;
}
//在main中调用playSquare函数
vector <Square> squaresVector;
Square* square = new freeParking(squares[readCount]);
squaresVector.push_back(*square);
int a = 0;
for (vector<Square>::iterator it = squaresVector.begin(); it <squaresVector.end(); it++)
{
squaresVector[a]->playSquare(Player *p1, Player *p2);
a++;
}
//任何想法我做错了什么?干杯。
【问题讨论】:
标签: visual-c++ inheritance polymorphism derived-class