Pete's Log: procrastinating
Entry #885, (Coding, Hacking, & CS stuff)(posted when I was 22 years old.)
so I'm taking a break from algorithms and messing around with C++. I discovered, to my great joy, that this code compiles (in g++, CC, and KCC) and works as I expected it to:
#include <iostream> using namespace std; class foo { public: void a() { cout << "haha!" << endl; } void b() { cout << c << endl; } private: int c; }; int main(int argc, char* argv[]) { int q = 420; void* j = NULL; ((foo*)j)->a(); ((foo*)&q)->b(); return 0; }
Now this is fun and all, but the real question is, how can I use this knowledge to my advantage? That is to say, how can I use this knowledge to really irritate abstraction purists...