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

Вызов метода в классе из другого - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
gotostereo
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 38
21.10.2013, 10:58     Вызов метода в классе из другого #1
Не получается выполнить следующую цепочку действий. Запускаю метод в классе B через main, он запускает метод в классе A который должен запустить метод 2 в классе B.

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
class A;
class B;
 
class A {
privat:
  B *b;
public:
 void function_a1 {
 b.function_b2();     // не могу вызвать функцию в классе B
 
}
 
}
 
class B {
privat:
  A a;
 
public:
 void function_b1 {
  //могу вызвать класс А отсюда.
  a.function_a1();
}
 void function_b2 {
   //действие
}
 
}
 
int main()
{
B b;
b.function_b1(); //стартуем
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
21.10.2013, 11:03     Вызов метода в классе из другого #2
Просто определите функцию a1 после определения класса B.

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
class A;
class B;
 
class A {
private:
  B *b;
public:
 void function_a1();
}
 
class B {
private:
  A a;
 
public:
 void function_b1 {
  //могу вызвать класс А отсюда.
  a.function_a1();
}
 void function_b2 {
   //действие
}
 
}
 
void A::function_a1()
{
   b->function_b2();     // не могу вызвать функцию в классе B
}
 
int main()
{
B b;
b.function_b1(); //стартуем
 
}
gotostereo
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 38
21.10.2013, 12:36  [ТС]     Вызов метода в классе из другого #3
не совсем понял, нужно вставить функцию в не класса
C++
1
2
3
4
void A::function_a1()
{
   b->function_b2();     // не могу вызвать функцию в классе B
}
?
Тогда меняется смысл, мне нужно что бы вся цепочка работала. Методы обенивались информацией находясь в разных классах. В примере, хотя бы вызывали.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
21.10.2013, 12:45     Вызов метода в классе из другого #4
gotostereo, Почему же меняется? Функция остается функцией класса, просто определяется уже после того как определен класс B, т.к. методы класса можно вызывать для уже определенного класса и только так.
Yandex
Объявления
21.10.2013, 12:45     Вызов метода в классе из другого
Ответ Создать тему
Опции темы

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