Я попытаюсь создать структуру для выполнения переопределенного метода в производном классе.Моя базовая структура кода:
Base.h EDITED
class Base
{
protected:
virtual void Initialize() = 0;
virtual void Update() = 0;
public:
void Init();
void Upd();
};
Base.cpp
#include "Base.h"
void Base::Initialize() {}
void Base::Update() {}
void Base::Init() {
// Some logic
Initialize();
}
void Base::Upd() {
// Some logic
Update();
}
Следующееclass - это класс, который должен быть унаследован от N других классов, которые реализуют Initialize () и Update (), а затем:
Behaviour.h
#include <iostream>
#include "Base.h"
class Behaviour : public Base
{
protected:
virtual void Initialize();
virtual void Update();
};
Поведение.cpp
#include "Behaviour.h"
void Bheaviour::Initialize() {
std::cout << "Initialize called!" << std::endl;
}
void Bheaviour::Update() {
std::cout << "Update called!" << std::endl;
}
Затем я хочу выполнить Behavior Initialize () и Update (), когда выполняется в базовом классе.Моя основная функция:
Core.cpp EDITED
#include "Behaviour.h"
int main() {
Base* base = new Behaviour();
base->Init();
while(!quit) {
base->Upd();
}
}
Заранее благодарен за любые предложения!
Спасибо за все предложения, я решил!