Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> абстрактные базовые классы 
:(
    Опции темы
good84
Дата 26.12.2011, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.12.2011

Репутация: нет
Всего: нет



Код

#include <iostream.h>
class area
{
protected:
    double x;
    double y;
    setar()
    {
    x=15;
    y=20;
        }
public:
    virtual void getar()
    {    }
};
//*****************************************
class rectangle: public area
{
public:
    void getar()
    {
        cout<<"HEIGHT:"<<endl;
        cin>>x;
    }
};
//******************************************
class triangle: public area             
{
public:
    void getar()
    {
    cout<<"WIDTH: ";
        cin>>y;
    }
};
//******************************************
void main()
{
rectangle HEIGHT ;
triangle WIDTH;
area* ptr;
//////////////////
ptr=&HEIGHT;
ptr->getar();            
ptr=&WIDTHt;
ptr->getar();
}


Выдает 1 ошибку. Функция getar( ) должна быть переопределена в производных классах так, чтобы возвращать площадь фигуры, вид которой задается в производном классе. помогите пожалуйста понять где я ошибся...Заранее спасибо!!!


M
JackYF
Пользуйся кнопкой "код".

PM MAIL   Вверх
mes
Дата 26.12.2011, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(good84 @  26.12.2011,  11:06 Найти цитируемый пост)
Выдает 1 ошибку.

ну а содержание ошибки это военная тайна ? и оформлять тегом код неужто так трудно ?
ну на беглый взгляд ошибки :
void setar() {

voidint main()

ptr=&WIDTHt;

ну и если компилятор не совсем древний, то using namespace std; после инклюдов ..



--------------------
PM MAIL WWW   Вверх
good84
Дата 26.12.2011, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.12.2011

Репутация: нет
Всего: нет



Вот что у меня получилось, но мне надо чтобы высчитывал площадь фигуры...ошибок не выдает , но и делает не то что надо...я задала значения height=4.5 и width=5.6. По идеи они должны выводиться, а потом высчитываться площадь...но они почему то не выводятся на экран, а выводиться числа в какой то системе исчисления...

Код
#include <iostream.h>
using namespace std;
class area
{
protected:
    double height, width;
    void setar()
    {
    height=4.5;
    width=5.6;
        }
public:
    virtual void getar()=0;
};
//*****************************************
class rectangle: public area
{
public:
    void getar()
    {
        cout<<"HEIGHT:"<<height;
        cin>>height;
    }
};
//******************************************
class triangle: public area
{
public:
    void getar()
    {
    cout<<"WIDTH: "<<width;
        cin>>width;
        }
};
//******************************************
int main()
{
rectangle height ;
triangle width;
area* ptr;
//////////////////
ptr=&height;
ptr->getar();
ptr=&width;
ptr->getar();
return 0;
}


Модератор: не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 26.12.2011, 19:48
PM MAIL   Вверх
bsa
Дата 26.12.2011, 19:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



good84, назови строчку, в которой считается площадь.
Кстати, что по-твоему делают строки 22 и 32?
PM   Вверх
mes
Дата 26.12.2011, 19:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(good84 @  26.12.2011,  12:34 Найти цитируемый пост)
.я задала значения height=4.5 и width=5.6

а где у Вас вызов setar ?

Добавлено через 1 минуту и 5 секунд
Цитата(good84 @  26.12.2011,  12:34 Найти цитируемый пост)
   void getar()
    {
        cout<<"HEIGHT:"<<height;
        cin>>height;
    }

а тут вообще не логичность если исходить из названия функции.. 




--------------------
PM MAIL WWW   Вверх
good84
Дата 26.12.2011, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.12.2011

Репутация: нет
Всего: нет



Цитата(mes @ 26.12.2011,  19:51)
   void getar()
    {
        cout<<"HEIGHT:"<<height;
        cin>>height;
    }

а тут вообще не логичность если исходить из названия функции..

[/QUOTE]
да да!!! вот исправила...
Код

class triangle: public area
{
public:
    void getar()
    {
    cout<<"WIDTH: ";
        cin>>width;
        }
};


Добавлено через 9 минут и 23 секунды
тут все готово кроме вставки формулы для вычисления прямоугольника и треугольника....
S=width*height - площадь прямоугольника
S=width*height/2 - площадь треугольника

При компиляции программы выводятся значения высоты и ширины, но надо чтобы по нажатию на Enter высчитывалась площадь...

Надеюсь что кто нить поможет...Заранее спасиб)
PM MAIL   Вверх
bsa
Дата 27.12.2011, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



good84, ты так и не ответила, что делают операции cin >> width и cin >> height.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.