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

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

Восстановить пароль Регистрация
 
REALIST07
Автор FAQ
Автор FAQ
 Аватар для REALIST07
174 / 174 / 13
Регистрация: 11.06.2010
Сообщений: 932
22.04.2011, 21:57     Не могу найти ошибку.Наследование #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++
C++ Не могу найти ошибку
C++ Не могу найти ошибку
найти слова повторяющиеся более одного раза, не могу найти ошибку C++
Не могу найти ошибку C++
C++ Не могу найти ошибку
C++ Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку)
не могу найти ошибку C++

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

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

Текущее время: 05:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru