这两个类之间应该是什么关系
如下:
class A
{
public:
A();
~A();
PrintA();
};
class B
{
public:
B();
~B();
PrintB();
A*a;
};
class C
{
public:
C();
~C();
B b;
PrintC()
{ a = new A();
b.a->PrintA();
};
}
请问C与A之间是什么关系?如果说是依赖,可C根本根本不用引用B的头文件。如果说是关联,A也不是C的成员变量。如果说没关系,可在C中明明可以看到A,并且C知道A的内部情况。
这种设计是不太好。
但请问C与A之间在UML图中到底应该如何表示,是什么关系。多谢各位
[解决办法]
依赖分三种:
1.全局依赖:比如楼主问题中,A作为B的成员变量,则B全局依赖于A,同时C全局依赖于B。
2.局部依赖:比如楼主问题中,A作为C中PrintC方法内部局部引用的局部变量,则C局部依赖与A。
3.参数依赖:楼主问题中没有此种依赖。如果C中PrintC方法全部定义为
PrintC(A a)
{
b.setA(a);
b.a->PrintA();
};
也就是所,A是C中PrintC方法的参数类型,在C可以说是参数依赖于A。