Mi piacerebbe sapere come modificare l'indirizzo di Test
che si trova nella tabella virtuale con quello di HackedVTable
.Come hackerare il tavolo virtuale?
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 risposta sarà molto apprezzata.
Grazie in anticipo.
Non mi interessa perché vuoi farlo. È una cattiva idea. Non farlo – abelenky
@abelenky, questo è solo per scopi educativi. volevo sapere come funzionano le cose. :) – mahesh
Il commento di @ Martin è il miglior consiglio che puoi ottenere a scopo didattico. altrimenti - basta rinunciare, il compilatore è meglio per questo lavoro. – LiraNuna