Погода: −6 °C
23.11−11...−6пасмурно, без осадков
24.11−7...−1пасмурно, небольшой снег
  • Помогите, пожалуйста!
    Создаю абстрактный класс

    //---Abstractn class----

    class Figura {

    public:
    virtual void set()=0;

    };

    На его основе создаю производный класс

    //---Class figura-kontur---

    class FiguraKont: public Figura {

    int x1,x2,x3,y1,y2,y3;
    int x12,x22,x32,y12,y22,y32;

    public:

    void set(int xt1,int xt2, int xt3,int yt1,int yt2,int yt3)

    {x1=xt1; x2=xt2; x3=xt3; y1=yt1; y2=yt2; y3=yt3;

    }};

    Затем в основной программе указываю

    void main()
    {
    ZakrFigura A;
    ....}

    Выдается ошибка: "Cannot create instance of abstract class "FiguraKont""
    В чем моя ошибка???

  • если надо создаь объект типа Figura , то пишем в main-е:
    Figura *A;

    Некоторые люди дуры (-:

  • Огромное спасибо! я разобралась!
    Вопрос снят.

  • Хорошо что разобрались!
    Объясню в чём проблема. Компилятор считает ваш производный класс FiguraKont абстракнным, т.к. данный класс не реализует функцию virtual void set()=0; базового класа. Чтобы класс FiguraKont перестал быть абстрактным, и можно было создавать объекты данного класса, вам необходимо реализовать в нем функцию void set()
    Обязательно обратите внимание - данная функция имеет пустой список аргументов!

Записей на странице:

Перейти в форум

Модератор: