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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 934
#1

Не могу найти ошибку.Наследование - C++

22.04.2011, 21:57. Просмотров 277. Ответов 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
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
/*13. Задание
1. Создать класс Function с методом вычисления значения функции y=f(x)
в заданной точке.
2. Создать производные классы: Line (y=ax+b), Kub (y=ax2+bx+c),
Hyperbola ( y=a/x+b ) со своими методами вычисления значения в
заданной точке.
3. Создать массив n функций и вывести полную информацию о значении
данных функций в точке х.
*/
 
#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <math.h>
#include <iomanip>
#define Line 1
#define Kub  2
#define Hyperbola 3
using namespace std;
class function { 
public:
 virtual float f(float x)=0;
    virtual void Print(float x) = 0;
 virtual void Input() = 0;
 
};
class line : public function { 
protected:
 float a,b;
public:
 
 void Print(float x)
 {cout<<"f=a*x+b="<<f(x)<<endl;
 };
 
 void Input(){
  cout<<"a,b:";
  cin>>a>>b;};
 line( float h, float w):a(h),b(w){}
 float f(float x){return a*x+b; }
 
};
class kub: public function{
protected:
 float a,b,c;
public:
 void Print(float x)
 {cout<<"f=a*x^2+b*x+c="<<a*x*x+b*x+c<<endl;
 }
 
 void Input(){
  cout<<"a,b,c:";
  cin>>a>>b>>c;}
 kub( float l, float r, float j):a(l),b(r),c(j){}
 float f(float x){return a*x*x+b*x+c;}
 
};
class hyperbola: public function{
protected:
 float a,b,c;
public: 
 void Print(float x)
 {cout<<"f=a/x+b="<<a/x+b<<endl;
 }
 
 void Input(){
  cout<<"a,b:";
  cin>>a>>b;}
 hyperbola(float p, float u, float e):a(p),b(u),c(e){}
 float f(float x){return a/x+b;}
};
void main()
{int n, i;float x;
 int vid;
 setlocale(LC_ALL, "Russian");
 cout<<"Введите число x=";cin>>x;
 cout<<"Введиту кол-во элементов: "; 
 cin>>n;
 function **a = new function*[n];
 for (i=0; i<n;){
  cout<<endl<<i+1<<" Тип функции";
  cin>>vid;
  
   
  switch (vid){
   case Line  : {
              a[i] = new line ;
     a[i]->Input();
     i++;
    break;
    case Kub : {
     a[i] = new kub;
     a[i]->Input(); 
        i++;
        break;
    case Hyperbola:{
     a[i] = new hyperbola;
     a[i]->Input(); 
        i++;
        break;
        }
 
     default:
              cout<<"\nОшибка ввода типа функции.\n Введите снова. \n";
 
 
         }
  }
  cout<<"\nВывод на экран содержимого базы: "<<endl;
  for(i=0; i<n; i++){
  cout<<"|"<<setw(2)<<i+1;
  a[i]->Print(x);
 }
  for(i=0; i<n; i++)
  
  system("pause");
 
  }}
0
Миниатюры
Не могу найти ошибку.Наследование  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2011, 21:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу найти ошибку.Наследование (C++):

Наследование шаблонных классов: найти причины возникновения ошибки в коде и исправить эту ошибку - C++
подскажите почему появляется такая ошибка error C2248: 'Base&lt;int,float&gt;::value1' : cannot access protected member declared in class...

Найти слова, повторяющиеся более одного раза, не могу найти ошибку - C++
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int i; int k; char *tm; for(i...

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) - C++
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество...

Не могу найти ошибку - C++
Доброго времени суток. На днях написал программу, в логике программы вроде все правильно и подсчеты идут тоже корректные. Но до завершения...

Не могу найти ошибку - C++
Добрый день, программа не компилируется, не могу найти ошибку. Заранее спасибо. #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() ...

Не могу найти ошибку! - C++
Только-только начал работать с функциями и не могу понять, почему в моей игре(кидаешь с компьютером кубик) и у пользователя и у программы...

1
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
22.04.2011, 22:15 #2
переведите то, что вам написал компилятор и поймете в чем ошибка. К тому же ошибка очевидна
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2011, 22:15
Привет! Вот еще темы с ответами:

Не могу найти ошибку. - C++
Добрый день всем! Опять у меня проблемы с моими &quot;любимыми&quot; шаблонами. Есть две шаблонные функции печатающие содержимое списка. Первая для...

Не могу найти ошибку - C++
Добрый день! Третий день маюсь. Программа решает систему уравнений методом Гаусса. Программа разделена на две функции: в первой функции...

Не могу найти ошибку - C++
Вот моя задача и к ней я должен придумать обработку исключений Поле first - положительное целое число, цена товара, поле second -...

Не могу найти ошибку - C++
Задача: вывести элементы массива, которые повторяются ровно 2 раза #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru