我们刚开始学习这个介绍C++ CS类的课程。为了回答我的问题,我提供了很多提示,以防万一,但我粗略地列出了我有特定问题的几行。关于教授关于课程和课程参数的说明非常困惑 - 介绍C++课程
声明并定义一个名为Odometer的类。本课程将有两个 私有变量,一个用于驱动里程,另一个用于加入汽车的 加仑汽油。我们将假设 汽车以满罐开始,但这些值在默认构造函数 中从零开始。成员函数应该包括:
•一个构造函数,它为两个私有变量 提供初始值。
•默认构造函数,将两个值都设置为零。
•一个get_miles功能
•一个get_gallons功能
•的add_in_trip_miles功能,由记录多少在它的参数发送
•的add_gas函数量增加英里汽油被泵入 的坦克。
•一个mpg函数,返回每加仑英里数 ,以计算驾驶里程数和加入储罐的气体总量。
•重置功能,将英里和加仑重置为零。
在您的程序顶部写下类声明,在底部写入函数定义 。在中间写一个主其 声明里程表对象,然后为用户提供了一个菜单呐循环 让他们选择了
- 见总里程
- 见总加仑
- 记录多英里驱动
- 泵入罐记录加仑
- 见的平均MPG,这辆车已经得到了 - 这是基于驱动英里,加仑总数累计数泵 进入水箱自里程表被LAT复位,或对象创建
- 重置里程表
- 退出程序
所以这两个功能粗体基本上做同样的事情,一个增加了多少英里已经驱动,其他用户输入的数值会增加进入储罐的气体数量。那么,我对教授的问题是,为什么里程函数需要将数据发送到参数中,而加仑函数却没有?他们本质上是一样的,所以我很困惑他们为什么不应该既传递一个参数,也不传递一个参数。下面是我的代码这两个函数:
void Odometer::add_in_trip_miles(){
double milesToAdd;
cout << "How many miles would you like to add to the total?" << endl;
cin >> milesToAdd;
milesDriven += milesToAdd;
}
void Odometer::add_gas(){
double gallonsToAdd;
cout << "How many gallons would you like to add to the total?" << endl;
cin >> gallonsToAdd;
gallonsGas += gallonsToAdd;
}
目前第一个不符合项目的提示,因为它不传递参数的值,它只是使用COUT/CIN的功能本身来获得增加的总价值。我想我可以通过将cout/cin放入int main()并将该值传递给add_in_trip_miles
函数来满足提示。
我给他发邮件有关的困惑,并得到如下回应,这让我更糊涂了:
有输入/输出功能,您可以通过键盘/输入文件 信息之间的差异或将信息输出到 屏幕/输出文件以及设置的功能。如果我们程序员想要自己进行用户交互,可以使用 设置的功能,如果他们从其他地方将 的信息放入对象中,则可以使用 - 可能是计算的值。我希望您 会实现这两者,这是我们通常在编写 类时所做的,以便为应用程序员提供选项。
他只是要求更多的功能,只有输入/输出功能,即再通过这些输入功能为add_in_trip_miles
和add_gas
?这封电子邮件让我更加困惑,因为他提到了(在上面的项目提示中)所需的每个成员函数,而且它们都不是输入函数。
这里的任何指导都会很棒,我的代码目前完全符合他的要求,但我不希望因为没有以某种方式使用函数而受到处罚,等等。让我知道你们认为并感谢您的帮助!
如果你不明白的练习中,您可能要问*教授*澄清问题。 –
@BoPersson他们做了,甚至更加困惑的回应 –
@ M.M正确 - 开始认为我不应该甚至发邮件给他,因为我现在更加困惑,哈哈。 –