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

Наследование классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод с Паскаль на с++ http://www.cyberforum.ru/cpp-beginners/thread774861.html
Кто-нибудь может помочь с переводом программы в С++? Program sudb; uses Utils; type Date = record day: byte; month: string; year: string;
C++ Не могу создать поток( Нужно чтобы функция запускается в потоке и работала там пока не закроем в потоке) хм.. не могу создать поток в c++ и направить туда. Нужно чтобы функция запускается в потоке и работала там пока не закроем в потоке. http://www.cyberforum.ru/cpp-beginners/thread774830.html
Математика и c++ (литература) C++
Доброе время суток, друзья) Подскажите что можно почитать хорошего про программирование матриц, интегралов, производных, систем уравнений и тд. В общем про математику в программировании)
Строки и структуры C++
Нужна помощь в реализации части обработки вывода информации о самых молодых, рослых, и самых легких участниках //Информация об участниках спортивных соревнований содержит: Ф. И. О. игрока, игровой...
C++ Текстовая RPG в консоли по правилам D&D http://www.cyberforum.ru/cpp-beginners/thread774766.html
Доброго времени суток! Решил попробовать себя на новой, так сказать, стезе. Буду рад любой помощи в плане организации хранения информации, ведь текста будет очень много, а доступ к нему должен быть...
C++ Вызов деструктора Доброго вам времени суток. Проблема в том, что деструктор не выводит сообщение без этой строки. s1.~Shave(); И я не уверен, что так можно писать. Можете подсказать, что не так? #include... подробнее

Показать сообщение отдельно
Nikcharn
71 / 53 / 3
Регистрация: 31.07.2009
Сообщений: 149
30.01.2013, 19:01
Я когда то делал:
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include <iostream>
#include <math.h>
 
using namespace std;
 
class Shape
{
public:
    virtual void print() = 0;
    virtual double getP() = 0;
    virtual double getS() = 0;
};
 
class Triangle : public Shape
{
private:
    double cathetus1, cathetus2;
 
public:
    Triangle(double c1, double c2)
    {
        cathetus1 = c1;
        cathetus2 = c2;
    }
 
    void print()
    {
        cout << "Треугольник\n";
    }
 
    double getX1()
    {
        return cathetus1;
    }
 
    double getX2()
    {
        return cathetus2;
    }
 
    double getP()
    {
        return sqrt(cathetus1*cathetus1+cathetus2*cathetus2) + cathetus1 + cathetus2;
    }
 
    double getS()
    {
        return cathetus1*cathetus2/2;
    }
};
 
class Circle : public Shape
{
private:
    double radius;
 
public:
    Circle(double r)
    {
        radius = r;
    }
 
    void print()
    {
        cout << "Круг\n";
    }
 
    double getP()
    {
        return 2*3.14*radius;
    }
 
    double getS()
    {
        return radius*radius*3.14;
    }
};
 
class Rectangle : public Shape
{
private:
    double a, b;
 
public:
    Rectangle(double x, double y)
    {
        a = x;
        b = y;
    }
 
    void print()
    {
        cout << "Прямоугольник\n" ;
    }
 
    double getP()
    {
        return 2*(a+b);
    }
    
    double getS()
    {
        return a*b;
    }
};
 
void main()
{
    setlocale(LC_ALL, "Russian");
    double p[100], s[100];
    bool state = true;
    int number, pIndex = -1, sIndex = -1;
    double x,y;
    Shape * shape;
 
    while (state)
    {
        cout << "1. Треугольник " << "2. Окружность " << "3. Прямоугольник.\n";
        cout <<"Выберите номер фигуры: \n";
        cin >> number;
 
        switch (number)
        {
        case 1:
            cout << "Введите первый катет: \n";
            cin >> x; 
            cout << "Введите второй катет: \n";
            cin >> y;
            shape = new Triangle(x,y);
            cout << shape -> getP() << "\n";
            cout << shape -> getS() << "\n";
            break;
        case 2:
            cout << "Введите радиус: \n";
            cin >> x; 
            shape = new Circle(x);
            cout << shape -> getP() << "\n";
            cout << shape -> getS() << "\n";
            break;
        case 3:
            cout << "Введите первую сторону: \n";
            cin >> x; 
            cout << "Введите вторую сторону: \n";
            cin >> y;
            shape = new Rectangle(x,y);
            cout << shape -> getP() << "\n";
            cout << shape -> getS() << "\n";
            break;
        }
        pIndex++;
        p[pIndex] = shape -> getP();
        sIndex++;
        s[sIndex] = shape -> getS();
        cout << "Продолжить? (1 - yes, 0 - no)\n";
        cin >> state;
    }
 
    delete shape;
}
Вместо прямоугольника сделаешь трапецию, думаю ничего тяжелого нету. Ну и вообще нужно бы Вам разобраться в наследовании, довольно-таки важная тема.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru