10.11.3. Identifying Class Relationships From C++ Code Patterns

Think you know the basic C++ code used to implement the five UML class relationships? Try this simple test. Hover the mouse pointer over "Identify" to identify the class relationship. Click on "Details" tp jump to a full description of the relationship.

class A
{

};

class B : public A
{

};
Identify | Details
class B
{
	A* a;
};

class A
{
	B* b;
};
Identify | Details
class B
{
};

class A
{
	B* b;
};
Identify | Details
class B
{
};

class A
{
	B b;
};
Identify | Details
T is an unspecified data type and B is a class name.
class A
{
    public:
	T func1(B b) {...}
	T func2(B* b) {...}
	T func3(B& b) {...}
};
Identify | Details
T is an unspecified data type and B is a class name.
class A
{
    T func4()
    {
        B b;
        b.function();
    }
};
Identify | Details