Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти первый отрицательный элемент последовательности sin(ctg(xi) x1 вводиться а последющие вычисляються по формуле x1+1=xi+0.3 http://www.cyberforum.ru/cpp-beginners/thread587243.html
1)Найти первый отрицательный элемент последовательности sin(ctg(xi)) x1 вводиться а последющие вычисляються по формуле x1+1=xi+0.3 в c++
C++ Вывод в консольном приложении Всем доброго времени суток. Написал приложение выводящие через printf 5 строк с паузой в 1 сек. При обычном запуске всё работает хорошо. Решил перенаправить стандартный вывод приложения в файл( через командную строку: test.exe > file.txt) и здесь появилась проблема. Файл заполняется не по мере выполнения моей программы, а только после её завершения. Возможно он сначала как-то буферизует данные.... http://www.cyberforum.ru/cpp-beginners/thread587242.html
Матрицы: вычислить сумму элементов ,образующих символ C++
Задана матрица чисел : а Вычислить сумму элементов ,образующих символ. Создать в простом консольном приложении.
C++ Описать класс
Уважаемые форумчане помогите пожалуйста с заданием. заранее спасибо!
C++ Почему программа вылетает http://www.cyberforum.ru/cpp-beginners/thread587204.html
Здраствуйте, почему, когда пишу: unsigned char* p = new unsigned char; программа НЕ вылетает, а когда пишу: unsigned char p; вылетает...?
C++ Вложенные операторы С++ вывести числа в виде таблицы 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 в общем накатал код #include <iostream.h> int main() { подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7151 / 4317 / 629
Регистрация: 29.11.2010
Сообщений: 11,730
27.05.2012, 02:59     Создание классов
С вычислением площади и периметра вы явно что-то намудрили. Зачем в производных классах виртуальные методы? Я бы еще понял, если был бы class ravstor : public ravbedr, что по сути является правильным.
В базовый класс добавь аргументированный конструктор:
C++
1
Triangle(double x, double y, double z): a(x), b(y), u(z){}
и в производные, вызывая в них конструктор базового:
C++
1
pryam(double x, double y, double z): Triangle(x, y, z){}
А меин выглядит вобщем то так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main()
{
    Triangle *pt = NULL;
    int a, b, u;
    do
    {
        std::cout<< "Enter length of the first side: "; std::cin>> a;
        std::cout<< "Enter length of the second side: "; std::cin>> b;
        std::cout<< "Enter the angle between the sides: "; std::cin>> u;
    } while (a < 0 || b < 0 || u < 0 || u > 180);
    if (a == b)
    {
        if (u == 60) pt = new ravstor(a, b, u);
        else pt = new ravbedr(a, b, u);
    }
    else if(u == 90) pt = new pryam(a, b, u);
    if (pt == NULL) std::cout<< "Random triangle, count yourself, it's boring...";
    else std::cout<< "P = "<< pt->P()<< "\nS = "<< pt->S();
    delete pt;
    return 0; 
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru