我编写了一个小程序,其中包含三个类:Carpet、Calculator和Floor。
通过使用 main 中的计算器类,将调用地毯类与地板类相乘。但是,我发现当在计算器类中使用 double 作为返回类型时,我遇到了构造函数未定义的错误。
我发现是计算器类的问题,我有一个方法getTotalCost()可以返回地板和地毯的成本。为什么我在 main.c 中调用时不能仅将两个对象作为计算器中的参数传递?我在计算器类中使用了 double 的原始返回类型。
请帮我重写计算器类,并向我解释为什么我不能使用原始类型类,而必须在地板和地毯的计算器字段声明中使用类名。为什么必须将地板和地毯的类名传递到构造函数中才能构建对象?如果您使用类名声明两个实例字段,那么修复方法是什么getTotalCost(),那么错误肯定会是这样的:
- The operator * is undefined for the argument
type(s) Floor, Carpet
- Occurrence of 'carpet'
- 1 changed line
尝试使用创建的类但收到错误。
Carpet carpet = new Carpet(3.5);
Floor floor = new Floor(2.75, 4.0);
在计算器的参数中传递地板和地毯。//未定义构造函数 Calculator Calculator = new Calculator(floor,carpet);
慕桂英3389331
30秒到达战场
回首忆惘然
相关分类