Абстрактные классы в С++
2468
3
Помогите, пожалуйста!
Создаю абстрактный класс

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