園洲做網(wǎng)站公司怎么做網(wǎng)站平臺
StarUML筆記之從C++代碼生成UML圖
—— 2024-04-14
文章目錄
- StarUML筆記之從C++代碼生成UML圖
- 1.安裝C++插件
- 2.準備好一個C++代碼文件放某個路徑下
- 3.點擊Reverse Code選擇項目文件夾
- 4.拖動(Class)到中間畫面可以形成UML
- 5.另外一種方式:雙擊Type Hierarchy,然后拖動(Class)到中間畫面可以形成UML帶箭頭指向
- 6.可以更改UML樣式
1.安裝C++插件
2.準備好一個C++代碼文件放某個路徑下
main.cpp
#include <iostream>
#include <string>class Shape {
public:// 構(gòu)造函數(shù)Shape(const std::string& name) : name_(name) {}// 純虛函數(shù),用于返回形狀的面積virtual double area() const = 0;// 虛析構(gòu)函數(shù)virtual ~Shape() {}// 輸出形狀的信息void printInfo() const {std::cout << "Shape: " << name_ << ", Area: " << area() << std::endl;}protected:std::string name_;
};class Circle : public Shape {
public:// 構(gòu)造函數(shù)Circle(const std::string& name, double radius) : Shape(name), radius_(radius) {}// 實現(xiàn)基類中的純虛函數(shù)virtual double area() const override {return 3.14159 * radius_ * radius_;}private:double radius_;
};class Rectangle : public Shape {
public:// 構(gòu)造函數(shù)Rectangle(const std::string& name, double width, double height): Shape(name), width_(width), height_(height) {}// 實現(xiàn)基類中的純虛函數(shù)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: