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

не могу понять ошибку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Паузы между проигрыванием wav файлов http://www.cyberforum.ru/cpp-beginners/thread334564.html
Добрый день ,есть загвоздка с воспроизведением звуковых файлов ,воспроизводя поочередно их ,образуется довольно заметная пауза : sndPlaySound("file_0.wav",SND_SYNC); ...
C++ отключение клавиши Всем привет! Как можно отключить определенную клавишу в функции GetAsyncKeyState? приведите пожалуйста примеры? http://www.cyberforum.ru/cpp-beginners/thread334544.html
C++ Как long перевести в char?
У меня дата и время в формате long пишу так sprintf(buf, "%d", p); MessageBoxA(NULL, buf, "information", MB_OK); p это указатель на структуру long, long - дата, время получаю 0. пишу под...
Структурированный в объектно-ориентированный C++
Доброго времени суток! В чем собственно моя проблема. Есть задание курсовой роботы (миниатюры), есть исходник программы написанный мною (прилагаю). Но программу надо написать двумя способами,...
C++ Как создать переменную из консоли http://www.cyberforum.ru/cpp-beginners/thread334485.html
Есть функция void createStream(string filename) { OutputStreamPtr stream(OpenSound(device, filename, true)); } Нужно написать функцию, которая будет создавать поток для аудио, но только не с...
C++ Найти строку в другой строке #include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string t("Jon"), v("Kon"); t += v; подробнее

Показать сообщение отдельно
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250

не могу понять ошибку - C++

19.07.2011, 22:07. Просмотров 476. Ответов 6
Метки (Все метки)

Народ, здарова, сижу над классами, конкретно наследование классов!
Компилятор выдает ошибку: [C++ Error] Unit1.cpp(143): E2285 Could not find a match for 'Body::Body(char *,shape,color,material)'

Объясните почему, ведь, вроде правильно.
Код ниже:
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
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<string.h>
 
 
enum shape{prizm,parallelepiped,cube,pyramid,cone,cylinder}; //глобальное перечисление
enum color{red,yellow,green,blue,white};
enum material{metal,wood,plastic,cardboard};
 
class Body
{
   private:
  char* name_obj;
  shape forma_obj;
  float H;
  float So;
  float Sb;
  float Sp;
  float V;
  float k;
  float P;
  float p;
  color    col_c;
  material mat_m;
 
   public:
  float get_P()
  {
    float P=p*V;
    return P;
  }
 
  float get_V()
  {
    float V=So*H*k;
    return V;
  }
 
 Body(char *name,shape forma,color c,material m,int K)
      {
        name_obj=new char[strlen(name)+1];
        strcpy(name_obj,name);
        forma_obj=forma;
        col_c=c;
        mat_m=m;
        k=K;
        switch(forma_obj)
              {
               case prizm:          cout<<"***********************************Призма.**************************************";
                                    k=1.0;
                                    break;
               case parallelepiped: cout<<"***********************************Параллелепипед.******************************";
                                    k=1.0;
                                    break;
               case cube:           cout<<"***********************************Куб.*****************************************";
                                    k=1.0;
                                    break;
               case pyramid:        cout<<"***********************************Пирамида.************************************";
                                    k=1.0/3.0;
                                    break;
               case cone:           cout<<"***********************************Конус.***************************************";
                                    k=1.0/3.0;
                                    break;
               case cylinder:       cout<<"***********************************Цилиндр.*************************************";
                                    k=1.0;
                                    break;
               default:cout<<"Неизвестная фигура.\n";
             }
         if (k!=0)
          {
            get_V();
          }
        switch(col_c)
             {
               case red:    cout<<"red";
                            break;
               case yellow: cout<<"yellow";
                            break;
               case green:  cout<<"green";
                            break;
               case blue:   cout<<"blue";
                            break;
               case white:  cout<<"white";
                            break;
               default: cout<<"Нет такого цвета.";
                        break;
             }
        switch(mat_m)
             {
               case metal:      cout<<"metal";
                                p=7.874;        //плотность железа
                                break;
               case wood:       cout<<"wood";
                                p=0.861;       //плотность дуба
                                break;
               case plastic:    cout<<"plastic";
                                p=1.235;       //плотность пластика
                                break;
               case cardboard:  cout<<"cardboard";
                                p=0.689;       //плотность картона
                                break;
               default: cout<<"Нет такого материала.";
                        break;
             }
           if(p!=0)
             {
               get_P();
             }
     }
 
 
  void Display()
 {
   cout<<"* Имя объекта - "<<name_obj<<"."<<endl;
   cout<<"* Форма объекта - "<<forma_obj<<"."<<endl;
   cout<<"* Площадь основания равна:          \tSo="<<So<<endl;
   cout<<"* Площадь боковой поверхности равна:\tSb="<<Sb<<endl;
   cout<<"* Площадь полной поверхности равна: \tSp="<<Sp<<endl;
   cout<<"* Объем обекта равен:               \tV="<<get_V()<<endl;
   cout<<"* Вес тела равен:                   \tP="<<get_P()<<endl;
   cout<<"********************************************************************************"<<endl<<endl;
 
 }
 
  ~Body()
  {  delete[]name_obj;  }
 
 
  void get_H(float H)
       {  this->H=H;    }
  void get_So(float So)
       {  this->So=So;  }
  void get_Sb(float Sb)
       {  this->Sb=Sb;  }
  void get_Sp(float Sp)
       {  this->Sp=Sp;  }
};
 
 class cl_prizm: public Body
{
  public:
  cl_prizm(char *name,shape forma,color c,material m,float H,float So,float Sb,float Sp):Body(name,forma,c,m)
 {
    get_H(H);
    get_So(So);
    get_Sb(Sb);
    get_Sp(Sp);
 
 }
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru