Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.59/37: Рейтинг темы: голосов - 37, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 38
1

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

21.10.2013, 10:58. Показов 7327. Ответов 3
Метки нет (Все метки)

Не получается выполнить следующую цепочку действий. Запускаю метод в классе 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(); //стартуем
 
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2013, 10:58
Ответы с готовыми решениями:

Вызов невиртуального метода в классе-наследнике
Добрый день! Имеется следующий код: #include <iostream> using namespace std; namespace...

Вызов метода одного класса в другом классе
Привет всем Когда запускаю, то в методе GetOut() вместо имени человека выводится цифра 1...

Вызов метода объекта внутри определения метода другого объекта(вложенные классы)
Как мне вызвать метод объекта slider класса Slider внутри определения метода объекта класса...

В производном классе вызов приватного метода базового класса
Добрый вечер. Помогите понять одну вещь. Имеется такое наследование: class test1 { public: ...

3
В астрале
Эксперт С++
8035 / 4792 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
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(); //стартуем
 
}
0
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
}
?
Тогда меняется смысл, мне нужно что бы вся цепочка работала. Методы обенивались информацией находясь в разных классах. В примере, хотя бы вызывали.
0
В астрале
Эксперт С++
8035 / 4792 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
21.10.2013, 12:45 4
gotostereo, Почему же меняется? Функция остается функцией класса, просто определяется уже после того как определен класс B, т.к. методы класса можно вызывать для уже определенного класса и только так.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2013, 12:45

Вызов метода другого класса
#include<iostream> using namespace std; class A { public: void Show() { cout << "A" << endl;...

Вызов статического метода из другого класса
Добрый день. Есть MAIN.cpp: STDMETHODIMP CMAIN::Function1(VARIANT Data,BYTE* pBuff) { ...

Вызов метода в классе формы из класса другого проекта
Есть проект Project1 и Project2 - оба ClassLibrary. В Project1 происходит вызов форми из Project2...

Вызов методов классов друг у друга (вызов метода из другого класса)
Есть несколько классов, которые могут вызывать методы (функции) друг у друга. Логика: класс1 имеет...


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

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

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