【发布时间】:2020-06-05 18:26:19
【问题描述】:
好的,所以我们现在正在学校学习类和构造函数。我觉得这应该可以工作,因为它几乎就像使用 struct 一样,但这有点让我恼火,因为我的代码中没有错误。在使用 public 几种方法获取它们的私有值后,我无法从另一个类中检索私有值。
输出:
Input the maximum # of cards for the Baseball card Box: 4
Max count of cards: 7
Current count is: 0
Spaces left: 7
Max count of cards: 7
Current count is: 1
Spaces left: 6
Max count of cards: 7
Current count is: 2
Spaces left: 5
Max count of cards: 7
Current count is: 3
Spaces left: 4
Max count of cards: 7
Current count is: 4
Spaces left: 3
Max count of cards: 7
Current count is: 5
Spaces left: 2
Max count of cards: 7
Current count is: 6
Spaces left: 1
【问题讨论】:
-
你永远不会初始化
currentCardCount,所以当你访问它时你就有了UB(就像你在很多地方所做的那样)。 -
“我无法从另一个类中检索私有值,在使用公共的几种方法获取它们的私有值之后。” 什么?在我看来,这正是你正在做的事情。
-
两者都在类之间初始化,但是如果用户指定最大计数而不是默认的 7,它不会循环说,用户最大计数为 4。所以即使用户输入最大值为 4,则 for 循环默认为 7,并显示 7 个输出结果/
-
3 次调用 BaseballCardBox 的构造函数不会在早期对象中设置值? box不是用输入值构造的,也没有setter。
-
我不确定你在这里问什么。你能说得更具体点吗?
标签: c++ class constructor