Виртуальная функция C++ не распознана

Я использую CodeBlocks, и у меня есть следующий код, который не компилируется.

(Речь идет о некоторых подводных камнях C++, поэтому единственное, что я хочу спросить, это почему он не компилируется)

Код выглядит следующим образом:

#include <iostream>
using namespace std;

class Shape
{
        public:
                Shape();
                virtual void reset();
        private:
                int color;
};

class Point : public Shape
{
        private:
        double a,b;
};

void Shape::reset()
{
        cout<<"Shape reset\n";
}

void Point::reset()
{
        Shape::reset();
        cout<<"Point reset";
}

Shape::Shape()
{
        reset();
}

int main()
{
        Shape s;
        Point o;
}

Я получаю следующую ошибку:

no `void Point::reset()' member function declared in class `Point'
0
задан Oliver Charlesworth 3 June 2012 в 18:00
поделиться