如何写一个空 class,初始化另一个 class 的三个对象
How to write an empty class, that initializes three object of another class
我必须根据 UML 图表示两个 classes。我会在这里上传图表:
作为规范,要求程序创建一个具有三个 SaleItem 对象的 Sale。我的问题是了解如何在没有参数的 class 中这样做?我在下面尝试这样做:
#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图上关系末尾的白色平行四边形表示聚合。这实质上意味着这些物品是销售的成员。换句话说,销售 class 不应该是空的。
项目不能是直接成员,因为上限未指定。我建议将项目存储在 std::vector
成员中。
我必须根据 UML 图表示两个 classes。我会在这里上传图表:
作为规范,要求程序创建一个具有三个 SaleItem 对象的 Sale。我的问题是了解如何在没有参数的 class 中这样做?我在下面尝试这样做:
#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图上关系末尾的白色平行四边形表示聚合。这实质上意味着这些物品是销售的成员。换句话说,销售 class 不应该是空的。
项目不能是直接成员,因为上限未指定。我建议将项目存储在 std::vector
成员中。