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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2009, 18:14   #1
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию C++ Классы (Наследование)

Доброе время суток. Задали задачю где нужно написать класс треугольник в нем вводитса стороны и метод периметра. И тут же написать класс прямоугольник и метод площади. Тоесть я так понял что он толжен наследовать а и б стороны и после ввода их передавать в тот класс для потсчета площади. Вот я написал текст но переменные он не наследует:

Цитата:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

class Triangle
{
public:
void setabc(int a, int b, int c)
{as = a; bs = b; cs = c;}
void Display() const;
void pr();
int as, bs, cs;
};


class Rec : public Triangle
{
public:
void plos();
};

void Triangle::Display() const
{
cout <<"A -"<<as<<" B - "<<bs<<" C - "<<cs;
;
}

void Rec :: plos()
{int s;
int a,b;
a=as;
b=bs;
s=a*b;
cout <<" A="<<a<<" B= "<<b;
cout <<" Plowad = "<<s;
}

void Triangle :: pr()
{
float p;
int a,b,c;
a=as;
b=bs;
c=cs;
p=a+b+c;
cout<<" Perimetr ="<<p;
}


int main()
{
clrscr();
Triangle y;
Rec f;
printf("Vvedite A - ");scanf("%d",&y.as);
printf("Vvedite B - ");scanf("%d",&y.bs);
printf("Vvedite C - ");scanf("%d",&y.cs);
cout<<"\n";
y.setabc(y.as,y.bs,y.cs);
cout<<"\n";
y.pr();
f.plos();
getch();

return 0;
}
Что я сделал не так?
werser вне форума Ответить с цитированием
Старый 15.12.2009, 18:46   #2
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

class Rec : public Triangle
{
public:
void plos();
};

Может я тут как то ошибся?
werser вне форума Ответить с цитированием
Старый 15.12.2009, 19:27   #3
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

Подскажите кто знает что делать? Просто очень нада на завтра сдать
werser вне форума Ответить с цитированием
Старый 15.12.2009, 21:30   #4
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

что значит не наследует переменные?

а метод setabc для Rec f вызывать пробовали?

переменные int as, bs, cs; лучше сделать private

ps. мне кажется, что логичнее было бы сделать Rec базовым классом

Код:
class Rec
{
    int a,b;
public:
   virtual void plos();
};

class Triangle : public Rec
{
    int c;
public:
   void plos();
};
counter вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Наследование lolopolosko Помощь студентам 1 21.11.2009 17:17
Классы(абстрактный и наследование) Пепел Феникса Общие вопросы C/C++ 6 02.11.2009 01:18
Наследование на C++ dziga1989 Помощь студентам 5 22.10.2009 11:25
Классы и наследование. Scratch Общие вопросы C/C++ 9 27.09.2008 16:03