F
also hier das ganze noch mal mit cpp tags
#include "TubeBuilder.h"
#include "ITrain.h"
void DriveTrain(ITrain *player)
{
bool loc = true;
string command;
for(;;)
{
if(loc)
{
cout << "You are at " << player->GetStation() << endl;
loc = true;
}
cin >> command;
if(0 == command.compare("quit"))
{
return;
}
else if(0 == command.compare("north"))
{
loc = player->DriveNorth();
}
else if(0 == command.compare("south"))
{
loc = player->DriveSouth();
}
else if(0 == command.compare("east"))
{
loc = player->DriveEast();
}
else if(0 == command.compare("west"))
{
loc = player->DriveWest();
}
if(!loc)
{
cout << "This is the end of the line...\n";
}
}
}
int main(int argc, char * const argv[])
{
ITube *tube;
CTubeBuilder *tb;
ITrain *train;
tb = new CTubeBuilder;
tb->BuildStation(0, "Engine Shed");
tb->BuildStation(1, "Holburn");
tb->BuildTrack(1, 0, 1);
tb->BuildStation(2, "Aldwych");
tb->BuildTrack(0, 2, 1);
tb->BuildStation(3, "Down Street");
tb->BuildTrack(1, 1, 3);
tb->BuildStation(4, "Brompton Road");
tb->BuildTrack(1, 3, 4);
tb->BuildStation(5, "Wood Lane");
tb->BuildTrack(0, 4, 5);
tb->BuildStation(6, "North End");
tb->BuildTrack(0, 5, 6);
tb->BuildStation(7, "Muswell Hill");
tb->BuildTrack(0, 7, 4);
tb->BuildStation(8, "Watford Stadium");
tb->BuildTrack(0, 8, 7);
tb->BuildStation(9, "Crouch End");
tb->BuildTrack(0, 9, 8);
tb->BuildStation(10, "Watford West");
tb->BuildTrack(1, 10, 8);
tb->BuildStation(11, "Croxley Green");
tb->BuildTrack(1, 11, 10);
tube = tb->GetTubeNetwork();
tb->Release();
train = tube->GetTrain();
tube->Release();
DriveTrain(train);
train->Release();
return 0;
}
und jetzt soll ich die folgenden methoden schreiben:
#include <iostream>
#include <string>
using namespace std;
#include "TubeBuilder.h"
CTubeBuilder::CTubeBuilder()
{
}
CTubeBuilder::~CTubeBuilder()
{
}
void CTubeBuilder::BuildStation(int sid, string stationName)
{
}
void CTubeBuilder::BuildTrack(int direction, int sid1, int sid2)
{
}
ITube *CTubeBuilder::GetTubeNetwork()
{
}