Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

"TargetClass"

Name: Anonymous 2011-11-17 20:39

Hi there /prog/

Is something like this possible?

For example, let's say that I have two classes:

class MyWorld
{
    public:
        MyWorld();
        void setup();
        void draw();
    //
};
...
class OtherWorld
{
    public:
        OtherWorld();
        void setup();
        void draw();
    //
};


Then, I'd like to have a "TargetWorld" class, where for example:


TargetWorld targetWorld;

targetWorld = myWorld;
...
targetWorld = otherWorld;


Then, I'd like to be able to call

targetWorld.draw();
targetWorld.setup();


And that would call the initial class's method.  I was thinking about using templates or class inheritance and virtual methods, but I'm not sure if that's the right path.

Name: Anonymous 2011-11-18 17:29

>>8
not sure about your problem but initialize your virtual function as 0.
#include <iostream>

class TargetWorld
{
    public:
        TargetWorld();
        virtual void setup() = 0;
    //
};


TargetWorld::TargetWorld()
{
    //
}

class MainMenuWorld : public TargetWorld
{
    public:
        MainMenuWorld();
        void setup();
    //
};

MainMenuWorld::MainMenuWorld()
{
    //
}

void MainMenuWorld::setup()
{
    std::cout << "Reached me!" << std::endl;
}

int main(){
  TargetWorld *tw = new MainMenuWorld();
  tw->setup();
  return 0;
}

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List