Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2012, 20:37   #1
Bumble bee
Новичок
Джуниор
 
Регистрация: 17.05.2012
Сообщений: 1
По умолчанию Абстрактный класс и его наследники

Здравствуйте, кто читает этот пост. У меня такой вопрос, пишу сейчас курсовой по ООП, но есть одна загвостка, при объявлении пременной типа класса, который наследуется от абстрактного, пишет ошибку: "использование объекта абстрактного типа *класс-наследник* недопустимо".

Код:
//Абстрактный класс
class Body
{
protected:
	double radius, length, width, height;

public:
	Body(double, double, double, double);
	Body(double, double, double);
	Body(double, double);
	Body(double);

	virtual ~Body()
	{
		#ifdef _DEBUG
			cout << "~Currency()" << endl;
		#endif
	}

	virtual void Set() = 0;
	virtual void Show() = 0;
	virtual double GetArea() = 0;
	virtual double GetVol() = 0;
};


class Ball: public Body
{
public:
	Ball(double r):Body(r)
	{
		#ifdef _DEBUG
			cout << "Ball()" << endl;
		#endif
	}

	~Ball()
	{
		#ifdef _DEBUG
			cout << "~Ball()" << endl;
		#endif
	}

	void Set(double &);
	void Show(double &, double &);
	double GetArea();
	double GetVol();
};

//Кусок из основного сппшника 
				cout<<"Введите радиус шара:";
				cin>>radius;
				//inputData(radius, length, width, height);
				Ball ball/*Тут ошибка, ball определяется объектом абстрактного класса*/(radius);
				p = &ball;
				break;
Bumble bee вне форума Ответить с цитированием
Старый 18.05.2012, 10:14   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
	virtual void Set() = 0;
	virtual void Show() = 0;
Вы не переопределили эти абстрактные методы = ваш наследник тоже абстрактный класс.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
абстрактный класс meta13 C# (си шарп) 2 22.03.2012 19:14
c# абстрактный класс tanek Помощь студентам 1 22.02.2012 11:23
Указатель на абстрактный класс zhenya.ya Общие вопросы C/C++ 0 11.11.2010 23:51
абстрактный класс С++ zhenya.ya Помощь студентам 0 05.11.2010 20:23
Наследование: абстрактный класс zak Общие вопросы C/C++ 4 22.12.2007 13:49