rendered paste body// Rule.h and .cpp ////////////////////////////////////////
#pragma once
class Rule
{
public:
Rule(void);
public:
~Rule(void);
};
#include "Rule.h"
Rule::Rule(void)
{
}
Rule::~Rule(void)
{
}
////////////////////////////
// Move.h and .cpp
////////////////////////////////
#pragma once
#include "rule.h"
#include "Tank.h"
class Move :
public Rule
{
public:
Move(void);
void moveTank(Tank *t);
public:
~Move(void);
};
#include "Move.h"
Move::Move(void)
{
}
Move::~Move(void)
{
}
void Move::moveTank(Tank *t) {
t->position = 20;
}
/////////////////////////////
// Tank.h and .cpp
/////////////////////////////
#pragma once
#include "Rule.h"
class Tank
{
public:
Tank(void);
int position;
void customRule(Rule *r);
public:
~Tank(void);
};
#include "Tank.h"
Tank::Tank(void)
{
}
Tank::~Tank(void)
{
}
void Tank::customRule(Rule *r) {
r->moveTank(this);
}