see these sample:
#include <iostream>

using namespace std;

class test
     virtual void hey()
         cout << "hello world!!!\n";

class test2: public test


void test2::hey()
    cout << "hey brother\n";
the 'hey' is declared on 'test'.. if the 'test2' is from 'test', why i must re-declare the 'hey' function?
(i mean i must change the 'test' functions, on a derive class without re-declare them)