StarUML笔记之从C++代码生成UML图
—— 2024-04-14
code review!
文章目录
1.安装C++插件
2.准备好一个C++代码文件放某个路径下
main.cpp
#include <iostream>
#include <string>
class Shape {
public:
// 构造函数
Shape(const std::string& name) : name_(name) {}
// 纯虚函数,用于返回形状的面积
virtual double area() const = 0;
// 虚析构函数
virtual ~Shape() {}
// 输出形状的信息
void printInfo() const {
std::cout << "Shape: " << name_ << ", Area: " << area() << std::endl;
}
protected:
std::string name_;
};
class Circle : public Shape {
public:
// 构造函数
Circle(const std::string& name, double radius) : Shape(name), radius_(radius) {}
// 实现基类中的纯虚函数
virtual double area() const override {
return 3.14159 * radius_ * radius_;
}
private:
double radius_;
};
class Rectangle : public Shape {
public:
// 构造函数
Rectangle(const std::string& name, double width, double height)
: Shape(name), width_(width), height_(height) {}
// 实现基类中的纯虚函数
virtual double area() const override {
return width_ * height_;
}
private:
double width_;
double height_;
};
int main() {
Circle circle("Circle 1", 5.0);
Rectangle rectangle("Rectangle 1", 4.0, 5.0);
circle.printInfo();
rectangle.printInfo();
return 0;
}
3.点击Reverse Code选择项目文件夹
4.拖动(Class)到中间画面可以形成UML
5.另外一种方式:双击Type Hierarchy,然后拖动(Class)到中间画面可以形成UML带箭头指向
6.可以更改UML样式
样式更改后新的UML: