Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 5
1

Агрегация в С++

27.10.2013, 14:41. Показов 2376. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста, есть код, пример на агрегацию. Самой довести до ума не выходит( Неполадки вот какие: "объекты созданы в main. Агрегации нет. От main ничего не скрыто."

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
#include <iostream>
#include <conio.h>
using namespace std;
 
class F {
  public:
    F() {f = 0;}
    int f;
    void increase_f() {
      f += 1;
      cout << "f = " << f << endl;
    }
};
class K {
  public:
    K() {k = 0;}
    int k;
    void increase_k() {
      k += 1;
      cout << "k = " << k << endl;
    }
};
class D {
  public:
    D() {d = 0;}
    int d;
    void increase_d() {
      d += 1;
      cout << "d = " << d << endl;
    }
};
class E {
  public:
    E() {e = 0;}
    int e;
    void increase_e() {
      e += 1;
      cout << "e = " << e << endl;
    }
};
class B {
  public:
    B() {}
    void link(K &k) {this->k = &k;}
    void link(D &d) {this->d = &d;}
    void link(E &e) {this->e = &e;}
    K* increase_bk() {return k;}
    D* increase_bd() {return d;}
    E* increase_be() {return e;}
  private:
    K* k;
    D* d;
    E* e;
};
class C {
  public:
    C() {}
    void link(F &f) {this->f = &f;}
    F* increase_cf() {return f;}
  private:
    F* f;
};
class J {
  public:
    J() {j = 0;}
    int j;
    void increase_j() {
      j += 1;
      cout << "j = " << j << endl;
    }
 
};
class A {
  public:
    A() {}
    void link(B &b) {this->b = &b;}
    void link(C &c) {this->c = &c;}
    void link(J &j) {this->j = &j;}
    B* increase_ab() {return b;}
    C* increase_ac() {return c;}
    J* increase_aj() {return j;}
  private:
    B* b;
    C* c;
    J* j;
};
 
int main()
{
  cout << "aggregation 1\n";
  K k; D d; E e; F f; B b; C c; J j; A a;
  a.link(b); a.link(c); a.link(j);
  b.link(k); b.link(d); b.link(e);
  c.link(f);
 
  a.increase_ac()->increase_cf()->increase_f();
  a.increase_ab()->increase_bk()->increase_k();
  a.increase_ab()->increase_bd()->increase_d();
  a.increase_ab()->increase_be()->increase_e();
  a.increase_aj()->increase_j();
  return 0;
  getch ();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2013, 14:41
Ответы с готовыми решениями:

Агрегация в C#
Объясните пожалуйста, что такое агрегация на каком-нибудь примере.

Агрегация
Здрасте уважаемые форумчане, подскажите пожалуйста, как грамотно сделать, что бы оба обьекта могли...

Агрегация
Доброе время,у меня вот такое задание Спроектировать 2 класса, сущности которых представлены в...

Агрегация
Всем привет. Подскажите, как сделать так, чтобы объект некоторого класса мог агрегировать...

0
27.10.2013, 14:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2013, 14:41
Помогаю со студенческими работами здесь

Агрегация
Здравствуйте, подскажите, пожалуйста, как решить такую проблему. Есть 2 класса, Form1:Form и...

агрегация
Здравствуйте. помогите пожалуйста разобраться с задачей: На сколько больше(или меньше) было дней с...

Взаимная агрегация
Здравствуйте, не знал как правильно назвать тему, если ошибся - простите. Пишу симулятор банкомата,...

Агрегация и композиция
Нужно сделать композицию и агрегацию, на основание этого кода(композицию и агрегацию отдельно двумя...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru