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

Двухстороннее взаимодействие классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить сумму заштрихованных элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread1566739.html
добрый вечер, помогите вычислить сумму заштрихованных элементов матрицы. заранее спасибо.
C++ Аргументы потоку pthread Добрый день, нужен совет как лучше написать запуск потоков структура для передачи в поток struct thread_arg { CTCPServer* pServer; int sock_desc; http://www.cyberforum.ru/cpp-beginners/thread1566723.html
с++ rectangle C++
Всем привет,падает первый же ассерт в rectangle_test.cpp,не могу понять почему,преподаватель сказал что намутил с инициализацией,но вроде в самих тестах она происходит(или я че то путаю).Как решить...
C++ Ошибка afx.h
Вот такая: 4 IntelliSense: #error directive: Building MFC application with /MD (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD d:\Program Files...
C++ К элементам, стоящим на главной диагонали матрицы, добавить максимальные элементы строк http://www.cyberforum.ru/cpp-beginners/thread1566668.html
Если все максимальные элементы столбцов превышают произведение минимальных элемен-тов строк, то к элементам стоящим на главной диагонали добавить соответствующие максимальные элементы строк. В...
C++ В строках матрицы сначала расположить все элементы, меньшие 5, а потом все остальные Преобразовать элементы строк матрицы таким образом, чтобы сначала располагались все элементы, меньшие 5, а потом все остальные. подробнее

Показать сообщение отдельно
Melg
538 / 159 / 64
Регистрация: 23.09.2013
Сообщений: 314
30.10.2015, 18:19
RAFA91, может быть данное решение Вам подойдет?

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
#include <iostream>
 
using std::cout;
using std::endl;
 
class B;
 
class A {
  B* b_;
 
 public:
  A(B* b) : b_(b) { cout << "Конструктор А" << endl; }
  void func_1();
  void func_2() { cout << "Класс A func_2" << endl; }
};
 
class B {
  A a;
 
 public:
  B() : a(this) { cout << "Конструктор B" << endl; }
 
  void func_1() {
    cout << "Класс В func_1" << endl;
    a.func_1();
  }
 
  void func_2() {
    cout << "Класс В func_2" << endl;
    a.func_2();
  }
};
 
void A::func_1() {
  cout << "Класс А func_1" << endl;
  b_->func_2();
}
 
int main() {
  B b;
  b.func_1();
}
Пруф работоспособности:
http://ideone.com/3EHrZe

Добавлено через 39 секунд
В общем случае стоит избегать двойных связей между классами, и превращать их в односторонние - это улучшит архитектуру приложения за счет снижения зависимости между классами.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru