首页 > 解决方案 > 如何为股票创建一个类?

问题描述

我目前正在学习 c++,我坚持完成这个实验室工作,我有五种水果,每种水果都有不同的特征。我不确定如何将它们应用于每种水果。我应该把它们分成不同的类吗?

 void Fruit::sale()
{
    stocks -= units;
    income += price;
    cout << "Stocks = " << stocks << endl;
    cout << "Income = " << char(156) << income << endl;

我正在考虑使用数组作为解决方案,但我从来没有遇到过带有类的数组,而且我对类、继承和多态性还是很陌生。提前感谢您的帮助。

标签: c++

解决方案


你有不同的水果,但这些水果都有一个共同点:它们都有重量、购买价格和零售价格。

每种水果的所有这三个都不同,但购买价格和零售价格的公式是相同的。

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 种水果,那么这样做就不好玩了。

对于这个问题,您不需要继承或多态性。


推荐阅读