Me gustaría saber cómo cambiar la dirección de Test
que está en la tabla virtual con la de HackedVTable
.¿Cómo hackear la tabla virtual?
void HackedVtable()
{
cout << "Hacked V-Table" << endl;
}
class Base
{
public:
virtual Test() { cout <<"base"; }
virtual Test1() { cout << "Test 1"; }
void *prt;
Base(){}
};
class Derived : public Base
{
public:
Test()
{
cout <<"derived";
}
};
int main()
{
Base b1;
b1.Test(); // how to change this so that `HackedVtable` should be called instead of `Test`?
return 0;
}
La respuesta será muy apreciada.
Gracias de antemano.
No me importa por qué quieres hacer esto. Es una mala idea. No lo hagas – abelenky
@abelenky, esto es solo para fines educativos. Yo quería saber cómo funcionan las cosas. :) – mahesh
@ El comentario de Martin es el mejor consejo que puede obtener con fines educativos. de lo contrario, simplemente ríndete, el compilador es mejor para este trabajo. – LiraNuna