1. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Первый товар уже в продаже: Консультация на тему ИБ от Ondrik8

    Скрыть объявление
  2. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Второй товар маркетплейса: Надёжная обфускация вашей программы от PingVinich

    Скрыть объявление

Ошибка "cannot Instantiate Abstract Class"

Тема в разделе "MS Visual C++", создана пользователем kostyan777, 11 июн 2010.

Статус темы:
Закрыта.
  1. kostyan777

    kostyan777 Гость

    Репутация:
    0
    Помогите пожалуйста отладить код, не могу разобраться, почему когда я создаю объект класса Sqr, который является наследником класса Poly, компиллятор ругается "cannot instantiate abstract class":

    void Shapes::Add(const Poly &P)
    {
    if(P.name=="Квадрат")
    tmp->poly=new Sqr(P);
    }

    Вот описание классов:

    struct Pair
    {
    Point p;
    Pair * next;
    };

    class Poly
    {
    protected:
    Pair *ptr; // список точек
    string name;
    public:
    Poly(){ptr=NULL; name="";};
    Poly(const Poly&);
    void Show();
    double Perimetr();
    virtual double Square()=0;
    friend struct Shapes;
    };

    class Sqr: public Poly
    {
    public:
    Sqr(){ptr=NULL; name="Квадрат";};
    double Square() const;
    };

    Заранее благодарен.
     
  2. grigsoft

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    double Square() const; а в оригинале не const
     
  3. Mungust

    Mungust Гость

    Репутация:
    0
    Походу это из-за полностью виртуального Square. Ты наследуешь Poly и не задаешьникакой реализации функции => она у тебя и в Sqr чисто виртуальная. А любой класс в котором есть хоть один чисто виртуальный метод С++ считает абстрактным. Короче задай реализацию и заработает
     
Загрузка...
Похожие Темы - Ошибка cannot Instantiate
  1. Xalet
    Ответов:
    25
    Просмотров:
    10.475
  2. wowa
    Ответов:
    3
    Просмотров:
    2.862
  3. admin
    Ответов:
    1
    Просмотров:
    4.781
  4. Catharsis

    Проблема Ошибка privoxy

    Catharsis, 26 июн 2017, в разделе: Kali Linux
    Ответов:
    10
    Просмотров:
    148
  5. Տօօօօշ
    Ответов:
    3
    Просмотров:
    146
Статус темы:
Закрыта.

Поделиться этой страницей