c++ - 如何为股票创建一个类?
问题描述
我目前正在学习 c++,我坚持完成这个实验室工作,我有五种水果,每种水果都有不同的特征。我不确定如何将它们应用于每种水果。我应该把它们分成不同的类吗?
void Fruit::sale()
{
stocks -= units;
income += price;
cout << "Stocks = " << stocks << endl;
cout << "Income = " << char(156) << income << endl;
我正在考虑使用数组作为解决方案,但我从来没有遇到过带有类的数组,而且我对类、继承和多态性还是很陌生。提前感谢您的帮助。
解决方案
你有不同的水果,但这些水果都有一个共同点:它们都有重量、购买价格和零售价格。
每种水果的所有这三个都不同,但购买价格和零售价格的公式是相同的。
purchase = weight * fruitPurchaseMultiplier;
retail = purchase * fruitRetailMultipler;
你可以有一个类来处理这个:
#include <cstdint>
class Fruit
{
public:
Fruit(double w, double weightMultiplyForPurchase, uint32_t priceMultiplyForRetail)
: weight{w}
{
purchasePrice = weight * weightMultiplyForPurchase;
retailPrice = purchasePrice * priceMultiplyForRetail;
}
private:
double weight;
double purchasePrice;
double retailPrice;
};
这里我们有一个Fruit
具有提到的 3 个特征的它,你可以在它的构造函数中看到它需要一个权重、一个购买修饰符和一个零售修饰符。您可以轻松地获取 ACTUAL 值,但由于它对每种水果都很常见,因此您可以让构造函数为您完成艰苦的工作。
构建水果现在是这样完成的:
int main()
{
Fruit apple{ 0.69, 0.9, 3 };
Fruit banana{ 0.55, 0.75, 5 };
}
在这里,您可以看到我们有一个重量为 0.69 的苹果,其购买价格的修正值为 0.9,售价为 3x。同样,您可以只提供对这 2 种水果可能适用的实际值,但如果您有 30 种水果,那么这样做就不好玩了。
对于这个问题,您不需要继承或多态性。
推荐阅读
- swift - NSPopUpButton - 使用 Cocoa 绑定填充动态内容时的奇怪行为
- sql - 填充每个类别的值列表
- vba - 错误时来自 GetAttr 的意外 TRUE 返回值
- html - 如何制作弹性弹出框?
- python - 如何使用循环从用户那里获得有效输入?
- sass - SCSS 字体大小不适用
- graph - 使用节点编辑器方法设计应用程序
- android - ListView 的问题:android.content.res.Resources$NotFoundException:资源 ID #0x102000a 类型 #0x12 无效
- windows - 在 Windows 上运行 docker run 命令
- angular - 如何跟踪 Angular 中的代码执行?