Форум программистов, компьютерный форум 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
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
27.05.2012, 15:11     Создание классов
Цитата Сообщение от tarakano Посмотреть сообщение
сделал

вот только выдаёт такие ошибки (но не указывает в каких строках)
а код где?

Добавлено через 1 минуту
и зачем вы убрали чисто виртуальные функции в базовом классе Triangle? Верните их на место.

Добавлено через 1 минуту
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
#include <iostream>
#include <cmath>
//ГЎГ*çîâûé ГЄГ«Г*Г±Г±
class Triangle
{ protected:
    double a,b; //2 ñòîðîГ*Г»
    double u;   //óãîë
  public:
    Triangle(){}
    Triangle(double x, double y, double z): a(x), b(y), u(z){}
    virtual ~Triangle(){}
    virtual double S() = 0; //ïëîùГ*äü
    virtual double P() = 0; //ïåðèìåòð
};
class pryam : public Triangle //ïðÿìîóãîëüГ*ûé òðåóãîëüГ*ГЁГЄ
{
public:
    pryam(double x, double y, double z): Triangle(x, y, z){}
    pryam(){}
    double S(); //ïëîùГ*äü
    double P(); //ïåðèìåòð
 
};
double pryam::S()
{
  return 0.5*a*b*sin(u);//?
}
double pryam::P()
{
  double c = sqrt(a*a+b*b-2*a*b*cos(u));//?
  return a+b+c;//?
};
///////////////
class ravbedr : public Triangle
{
 
  public:
    ravbedr(double x, double y, double z): Triangle(x, y, z){}
    ravbedr(){}
     double S();
     double P();
};
double ravbedr::S()
{
    double c=2*a*sin(u/2); 
    double p=(a+b+c)/2;
    return sqrt(p*(p-a)*(p-b)*(p-c));
}
double ravbedr::P()
{
    double c=2*a*sin(u/2); 
    return a+b+c;
}
///////////////////
class ravstor : public Triangle
{
 public:
     ravstor(double x, double y, double z): Triangle(x, y, z){}
    ravstor(){}
     double S();
     double P();
};
double ravstor::S()
{
    return 0.43*a*a;
}
double ravstor::P()
{
    return 3*a;
}
/////////////////////////////
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; 
}
 
Текущее время: 00:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru