gpt4 book ai didi

c++ - 我该如何实现一个奇怪的 "class"符号

转载 作者:行者123 更新时间:2023-12-01 14:58:06 26 4
gpt4 key购买 nike

我正在用 C++ 编写一个过度设计的矩阵计算器,但不知道这意味着什么:

enter image description here

我以前从未在类图中见过像 Valuation = std::map 这样的框,也不知道要查找什么。我把它写成构造函数还是什么?
为什么 IntElement 和 Valuation 之间没有联系,即使 IntElement 清楚地使用它?

我现在在标题中有这个是图表正在寻找的吗?

class Valuation{

Valuation(std::map<char,int>);

};

最佳答案

如果没有更多上下文,很难说这条线会去哪里,但是 Valuation盒子看起来像它要求这样一行:

using Valuation = std::map<char,int>;

即定义 Valuation作为某个 map 的别名。基于“合理”的设计,我希望这条线可以放在 VariableElement 的公共(public)父类中。和 IntElement ,可能作为 protected typedef。但是,我在图中没有看到任何暗示这一点。

我没有看到足够的上下文来猜测为什么 IntElement 中没有“使用”行至 Valuation .两个 IntElementVariableElement鉴于 evaluate成员。另一方面,我会质疑为什么现有线路连接到 VariableElement而不是应该定义别名的假设的共同 parent 。这可能是图表作者提出的问题。 (有时人们会犯错误,甚至是教授。)

附录:我想过 IntElement::evaluate之间的区别和 VariableElement::evaluate .可能是前者忽略了它的参数,因此它并没有真正使用 Valuation不止是一种类型的名称。另一方面,后者可能会在 map 中查找条目,因此实现需要 Valuation成为一个完整的类型。这是一个可能的动机,尽管我发现这样的实现细节影响类图是有问题的。

关于c++ - 我该如何实现一个奇怪的 "class"符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60214572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com