С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
#1

производные класса - C++

13.03.2011, 22:01. Просмотров 385. Ответов 5
Метки нет (Все метки)

создать класс фигура с производными классами квадрат, треугольник , круг, которые вычисляют площадь и периметр... не особо понимаю -начал писать, но столько ошибок выходит!
Класс Figure.h , Circle.h , main .cpp.... так или нет? в h описание , а запуск в main ? помогите разобраться с одним видом хотя бы... пож!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2011, 22:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос производные класса (C++):

Поместить в динамически расширяемый массив объекты класса, производные от базового абстрактного класса - C++
Помогите пожалуйста новичку! (мне). Я хочу создать динамически расширяющийся массив указателей на базовый абстрактный класс,...

производные - C++
для многочлена Pn(x) получить его производную Pn'(x) и пощитать значение Pn'(2).... помогите плз.только на языке с

Производные - C++
Привет всем! У меня такая проблема: надо написать программку, которая бы выдала вид прозводной, например, на вход подается f=y*x-2*y^2,...

Производные(похідні) - C++
x^4+x^2+1 Как эту функцию решить в с++? покажите примером. Или там как то спец функция есть. Как находить математически производные я...

производные классы - C++
Задание: Разработайте программу на языке С++, использующую наследование. Вариант 18. Создайте базовый класс Complex (комплексное число)...

Частные производные - C++
Ув. експерты. ТАкое дело, у меня в программке нужно вычислить коэффециенты по формуле на картинке. А как это сделать даже не представляю. ...

5
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
13.03.2011, 22:17 #2
Покажите код.
0
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
13.03.2011, 22:35  [ТС] #3
silent_1991,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// 12.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
 
 
#include <stdio.h>     
 
class FIGURE
{
public:
  
    virtual double area( void )
    {
        return 0;
    }
    
   /* virtual void print( void )
    {
        printf( "\nPloshad fuguri = %g", area( ) );
        //printf( "\n Square of a figure area1( 5.0f ) = %g",
               // area1( 5.0f ) );
        return;
    }*/
};
 
class CIRCLE : public FIGURE
{
    
private:
    double     radius;   
    public:
        CIRCLE ( double rad )
    {
        radius = rad;
    }
   
    virtual double area( void )
    {
        return 3.14 * radius * radius;
    }
 
    virtual void print( void )
    {
        printf( "\n Ploshad kruga area( ) = %g",
                area( ) );
     
        return;
    }
};
int main( void )        
{
    
    CIRCLE     circl( 2.0 );
    
    circl.print( );
        FIGURE     *pfigure = new CIRCLE( 1.0 );
    
    pfigure->print( );
    
        //pfigure->FIGURE :: print( );
        delete pfigure;
    printf( "\n" );
    return 0;
}
без virtual никак ? и нам сказали разбить на классы h. и cpp -это возможно?
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
13.03.2011, 22:45 #4
Я бы вот так сделал:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>     
 
class FIGURE
{
public:
  
    virtual double area() = 0;
    virtual void print() = 0;
};
 
class CIRCLE : public FIGURE
{
    
private:
    double     radius;   
    public:
        CIRCLE ( double rad )
    {
        radius = rad;
    }
   
    virtual double area( void )
    {
        return 3.14 * radius * radius;
    }
 
    virtual void print( void )
    {
        printf( "\n Ploshad kruga area( ) = %g",
                area( ) );
     
        return;
    }
};
int main( void )        
{
    
    CIRCLE     circl( 2.0 );
    
        circl.print( );
        FIGURE     *pfigure = new CIRCLE( 1.0 );
    
        pfigure->print( );
    
        //pfigure->FIGURE :: print( );
        delete pfigure;
    printf( "\n" );
    return 0;
}
Добавлено через 26 секунд
Разумеется, можно, и даже нужно, разбить класс на заголовок и описание.
0
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
13.03.2011, 23:10  [ТС] #5
silent_1991, можно еще вопрос написал для треугольника площадь, по формуле герона
C++
1
2
3
4
 virtual double area( void )
    {
        return  float (1/4)*sqrt((a+b+c)*(b+c-a)*(a+c-b)*(a+b-c));
    }
выводит мне -1.#IND
не понимаю с чем это связано
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
13.03.2011, 23:17 #6
C++
1
2
3
4
virtual double area( void )
{
    return 1.0 / 4.0 * sqrt((a+b+c)*(b+c-a)*(a+c-b)*(a+b-c));
}
Добавлено через 1 минуту
А, ну и ещё может быть связано с тем, что треугольник, вами введённый, вообще не существует. Есть такая штука - неравенство треугольника, которое гласит, что ни одна сторона треугольника не может превышать сумму двух других его сторон. Если такое происходит, то произведение под знаком корня будет отрицательным, а арифметического квадратного корня из отрицательного числа на вещественной прямой не найти.
1
13.03.2011, 23:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2011, 23:17
Привет! Вот еще темы с ответами:

Производные классы - C++
Всем доброго времени суток! Столкнулся со следующей проблемой: в main создается матрица типа Basic (производный абстрактный класс для...

производные классы. - C++
Попалось такое Задание: Написать программу используя базовый и производный классы, защищенные члены класса, которая создавала массив...

Абстрактные и производные классы С++ - C++
Проблема: Есть базовый класс &quot;Фигура&quot;, и производные: &quot;Точка&quot;, &quot;Круг&quot;, &quot;Прямоугольник&quot;, &quot;Треугольник&quot;. Надо сделать чистую виртуальную...

Создать производные классы - C++
Создать производные классы со своими методами вывода информации на экран (абстрактного класса Библиотека). Производные классы: 1....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.