[c++] 패키지 다이어그램
#include <iostream>
#include <vector>

class Shape {
public:
    virtual void draw() = 0;
};

class Circle : public Shape {
public:
    void draw() override {
        std::cout << "Circle::draw" << std::endl;
    }
};

class Rectangle : public Shape {
public:
    void draw() override {
        std::cout << "Rectangle::draw" << std::endl;
    }
};

class Triangle : public Shape {
public:
    void draw() override {
        std::cout << "Triangle::draw" << std::endl;
    }
};

class Package {
public:
    std::vector<Shape*> shapes;

    void addShape(Shape* shape) {
        shapes.push_back(shape);
    }

    void drawAllShapes() {
        for (auto shape : shapes) {
            shape->draw();
        }
    }
};

int main() {
    Circle circle;
    Rectangle rectangle;
    Triangle triangle;

    Package package;
    package.addShape(&circle);
    package.addShape(&rectangle);
    package.addShape(&triangle);

    package.drawAllShapes();

    return 0;
}

위 코드는 UML 패키지 다이어그램에 대한 C++ 예시이며, Shape 클래스를 상속하는 Circle, Rectangle, Triangle 클래스와 Package 클래스를 포함하고 있습니다. 이 예시는 다양한 도형들을 Package에 넣고 한꺼번에 그리는 방법을 보여줍니다.

관련 참고 문헌: