Tradurre le relazioni da UML a C++

2
Tradurre le relazioni UML in C++ Ing. R. Turco Realizzazione di associazione uno a uno Figura 1 Esempio d’uso main(){ C1 c1; C2 c2; c1.add(&c2); c2.add(&c1); } Class C1 { public: C1() {…} add( C2 *x ):p(x) {…} void fc1() { … p->fc2(); …} private: t1 ac1; C2 *p ; // per il link } ; Class C2 { public: C2() {…} add( C1 *y ):q(y) {…} void fc1() { … q->fc1(); …} private: t2 ac2; C1 *q ; // per il link } ;

description

Come tradurre le associazioni da UML a C++

Transcript of Tradurre le relazioni da UML a C++

Page 1: Tradurre le relazioni da UML a C++

Tradurre le relazioni UML in C++ Ing. R. Turco

Realizzazione di associazione uno a uno

Figura 1

Esempio d’uso

main(){

C1 c1;

C2 c2;

c1.add(&c2);

c2.add(&c1);

}

Class C1 {

public:

C1() {…}

add( C2 *x ):p(x) {…}

void fc1() { … p->fc2(); …}

private:

t1 ac1;

C2 *p ; // per il link

} ;

Class C2 {

public:

C2() {…}

add( C1 *y ):q(y) {…}

void fc1() { … q->fc1(); …}

private:

t2 ac2;

C1 *q ; // per il link

} ;

Page 2: Tradurre le relazioni da UML a C++

Realizzazione di associazione uno a molti

Figura 2

Esempio d’uso

main(){

C1 c1;

C2 q1;

C2 q2;

C2 q3;

c1.add(&q1);

c1.add(&q2);

c1.add(&q3);

q1.add(&c1);

q2.add(&c1);

q3.add(&c1);

}

Class C1 {

public:

C1() {…}

add( C2 *x ) {…} // lo inserisce in lista

remove( C2 *x ) {…} // lo rimuove

void fc1() { … }

private:

t1 ac1;

list <C2*> lista ; // il link

} ;

Class C2 {

public:

C2() {…}

add( C1 *y ):q(y) {…}

void fc1() { … }

private:

t2 ac2;

C1 *q ; // per il link a C1

} ;