我必须代表两个基于UML图的类。我将在这里上传图表:

作为规范,要求程序将创建带有三个SaleItem对象的Sale。我的问题是了解在没有参数的类中如何做到这一点?我在下面尝试这样做:

#include <iostream>

using namespace std;


class SaleItem{
public:
    int code = 0;
    double price;
    SaleItem();
    SaleItem(double p){
        code++;
        price = p;

    }
};

class Sale:SaleItem{
public:
    Sale(){
        SaleItem o1 = SaleItem(12.5);
        SaleItem o2 = SaleItem(12.5);
        SaleItem o3 = SaleItem(12.5);
    }
};

int main()
{
    Sale one;
    return 0;
}

必须有一种更好的方法来执行此操作,因为我什至无法访问创建的对象并使用它们。我也可能会误解UML图,但是不幸的是它没有提供任何其他细节。

最佳答案

UML图上关系结尾处的白色平行四边形表示聚合。从本质上讲,这意味着这些物品是销售的成员。换句话说,销售类别不应为空。

由于未指定上限,因此项目不能是直接成员。我建议将项目存储在std::vector成员中。

10-07 14:14