Форум программистов, компьютерный форум 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/thread587207.html
удалено сам дурак:) P.S. модераторы, удалите плиз)
C++ Почему программа вылетает Здраствуйте, почему, когда пишу: unsigned char* p = new unsigned char; программа НЕ вылетает, а когда пишу: unsigned char p; вылетает...? подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4924 / 2667 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
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; 
}
 
Текущее время: 15:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru