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

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

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

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

22.04.2011, 21:57. Просмотров 271. Ответов 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");
 
  }}
Миниатюры
Не могу найти ошибку.Наследование  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2011, 21:57     Не могу найти ошибку.Наследование
Посмотрите здесь:

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

Не могу найти ошибку - C++
Уважаемые форумчане! Скорее всего моя ошибка опять глупая, но я просто не могу её понять. Самое странное что он даже просто ввести строку...

не могу найти ошибку! - C++
почему в typePlane вместо значения, которое вводит пользователь, выводит какое-то большое значение из цифр и букв? #include&lt;iostream&gt; ...

не могу найти ошибку - C++
Код програмы: #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;conio.h&gt; using namespace std; const int N=3; int main() ...

Не могу найти ошибку - C++
Всем здравствуйте. Я являюсь болельщиком Ф1, и решил написать простенькую программку, которая бы суммировала очки за гонку и записывала бы...

Не могу найти ошибку - C++
Не могу найти ошибку 1. Минимальный по модулю элемент массива. 2. Сумму модулей элементов массива, расположенных после первого...

Не могу найти ошибку - C++
Добрый день. Есть код #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; struct tbook {

Не могу найти ошибку... - C++
минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы. Я ввожу матрицу 1 2 3 4 5 6 7 8 9, т.е. минимум...

Не могу найти ошибку - C++
Здравствуйте,не могу понять в чем ошибка подскажите пожалуйста #include &quot;stdafx.h&quot; #include &lt;time.h&gt; #include &lt;cstdlib&gt; ...

Не могу найти ошибку - C++
Условие задачи: Написать функцию решения квадратного уравнения. Помогите найти ошибку: #include &lt;iostream.h&gt; int sqvare (int a)...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
22.04.2011, 22:15     Не могу найти ошибку.Наследование #2
переведите то, что вам написал компилятор и поймете в чем ошибка. К тому же ошибка очевидна
Yandex
Объявления
22.04.2011, 22:15     Не могу найти ошибку.Наследование
Ответ Создать тему
Опции темы

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