[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에 넣고 한꺼번에 그리는 방법을 보여줍니다.
관련 참고 문헌:
- UML Reference Manual, Rumbaugh, James, Prentice Hall PTR, 1998.