title: overriding same class method at run-time c++
body: <p>say I have a class like this in c++:</p>
  
  <pre><code>class MyClass
  {
      public:
          int MyMethod1 (/*Some Cool Args*/)
          {
              //do something
          }
          int MyMethod2 (/*More Args*/)
          {
              //do something
          }
          .
          .
          .
          int MyMethodN (/*More Args*/)
          {
              //do something
          }
  }
  </code></pre>
  
  <p>now, lets say that depending on the state of the object at runtime, i need to use either MyMethode1, MyMethode2, ..., or MyMethodeN, wich all do bassically the same but change the way they do it based on the object state at run-time.</p>
  
  <p><em>So, my question is</em>: Is there a way to have something like...</p>
  
  <pre><code>class MyClass
  {
      public:
          int MyMethod (/*Some Cool Args*/)
          {
              //do something in consideration to the current object state
          }
  }
  </code></pre>
  
  <p>Basically what I mean is if a polymorphic behavior can be achieved within a same class without having to call derived objects or use pointers to member methods or have a sequence of ifs or a switch</p>