Почему не вызывается перегруженная виртуальная функция?
От: Symon Россия  
Дата: 14.03.06 13:20
Оценка:
class A
{
public:
    virtual ~A ()
    {
        printf ("A destructed\n");
        End ();
    };
    virtual Start () = 0;
    virtual End ()
    {
        printf ("A ended\n");
    };
};

class B: public A
{
public:
    virtual ~B ()
    {
        printf ("B destructed\n");
    };
    virtual Start ()
    {
        printf ("B started\n");
    };
    virtual End ()
    {
        printf ("B ended\n");
    };
};

int _tmain(int argc, _TCHAR* argv[])
{
    B *b = new B;
    delete b;
    return 0;
}

B destructed
A destructed
A ended

Че это за бред такой???
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.