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

Вызов метода - C++

Восстановить пароль Регистрация
 
Wintsent
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 34
28.04.2013, 19:22     Вызов метода #1
Друзья подскажите пожалуйста!
Есть родительский класс TModel, в нем есть метод Euler2(), как это метод вызвать в дочернем классе TGANOPUser? У меня не получается.
Вот кусок кода:
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
.........................
class TModel:public TGABee
{
    public:
    double x[10];
    double qy;
    double x0[10];
    double xs[10];
    double fb[10];
    double fa[10];
    double su;
    double su1;
    double u[2];
    double umin;
    double umax;
    double y;
    int n;
    int ny;
    double qymax,qymin;
    int ix,ixmax;
    double stepsqy;
    int m;
    int lv;
    double dt;
    int t;
    double tf;
    int t1;
    double x1[10];
    double f1[10];
    public:
       TModel();
      // ~TModel();
       int Euler2(); // нужный метод
       virtual int Erent(int t,double x1[10],double f1[10]);
       int Upr();
       virtual void Initial();
       virtual void Func(double Fu[]);
       virtual void Func0(double Fu[]);
                
};
 
 
 
class TGANOPUser: public TModel
{
public:
    TModel EA;
    virtual void Func0(double Fu[]);
    virtual void Initial();
    virtual int Erent(int t,double x1[10],double f1[10]);
    
};
 
......
void TGANOPUser::Func0(double Fu[])
{
  int  i,j,k;
  double dy,f1,f2;
  f1=0;
  f2=0;
  k=0;
  Initial();
  do
    if ((abs(t-temc[k]))<dt/2)
    {
      f1=f1+(Intec[k]-x[0]*x[1]/(x0[0]*x0[1]))*(Intec[k]-x[0]*x[1]/(x0[0]*x0[1]));
      f2=f2+Balans_C(x)+Balans_H(x)+Balans_O(x)+Balans_Cl(x);
      k=k+1;
    }
  Euler2();// здесь ругается
  while (t>=tf);
  Fu[0]=sqrt(f1)+f2;
  Fu[1]=sqrt(f1)+f2;;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 19:22     Вызов метода
Посмотрите здесь:

Вызов метода из метода C++
C++ Вызов метода класса
C++ вызов метода, инициализация переменной
Вызов метода в классе из другого C++
C++ Вызов метода в потоке
Асинхронный вызов метода с параметрами C++
Вызов метода наследника C++
Принудительный вызов метода родителя C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
28.04.2013, 19:34     Вызов метода #2
все дело в скобочках. не экономте на них, всегда расставляйте, так код только понятнее будет:
C++
1
2
3
4
5
6
7
8
9
10
 do
 {
    if ((abs(t-temc[k]))<dt/2)
    {
      f1=f1+(Intec[k]-x[0]*x[1]/(x0[0]*x0[1]))*(Intec[k]-x[0]*x[1]/(x0[0]*x0[1]));
      f2=f2+Balans_C(x)+Balans_H(x)+Balans_O(x)+Balans_Cl(x);
      k=k+1;
    }
    Euler2();// здесь ругается
  } while (t>=tf);
Wintsent
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 34
28.04.2013, 19:40  [ТС]     Вызов метода #3
Точно спасибо, я и не заметил)))
Yandex
Объявления
28.04.2013, 19:40     Вызов метода
Ответ Создать тему
Опции темы

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