在类中创建分数列表数组C ++

时间:2014-10-01 19:53:46

标签: c++ arrays class

我需要帮助在类中创建一个分数列表数组。 所以我可以说我已经有了一个带有private:numerator和denom的分数类。

所以我想在这个分数列表类中做的是

  1. 我应该能够读取包含这样一个列表的文件。 “22 51 3 5 11 43 34 54”第一个是分子,第二个是denom,依此类推。所以它有4个分数。我希望将这4个分数存储在作为私有成员的数组中。最多为20个分数。

  2. 我应该可以打印到输出文件或标准输出以下内容: a)所有分数。 b)分数形式的所有分数的总和(例如:分子:55,分母:82)

  3. 我真正想知道的是我的私人数据成员应该是什么?

    这就是我所拥有的。

    class Fractionlist
    {
    Private:
        Fractionlist [] Max;
        const static int MaxFraction = 30;
    
    }
    

    要设置哪个私有成员,所以我会按照要求进行操作。所以基本上我需要允许我输入分数的数据成员。

2 个答案:

答案 0 :(得分:2)

扩展juanchopanza的评论,你可能想要创建一个类似于这个的类:

class MyFraction
{
public:
    MyFraction(int numerator, int denominator)
    {
        _numerator = numerator;
        _denominator = denominator;
    }

    void Print()
    {
        // ...
    }

private:
    int _numerator;
    int _denominator;
};

然后从文件中读取数字并将它们存储在矢量

std::vector<MyFraction> fractionList;

最后,实现两个功能

void PrintFractions(std::vector<MyFraction> fractionList);
MyFraction SumFractions(std::vector<MyFraction> fractionList);

分别打印和求和矢量的内容。

答案 1 :(得分:0)

从你所描述的内容来看,我很想接受这样的事情:

class Fraction
{
    int numerator;
    int denominator;
};

class Fractionlist
{
    const static int MaxFraction = 20;

    int number_of_fractions; // how many are in the array?

private:
    Fraction list[MaxFraction]; // array of Fraction objects

public:
    Fractionlist(): number_of_fractions(0) {} // list is empty when created

    bool add(const Fraction& f) { /* add fraction return false if too may */ }
    Fraction sum() { /* add up fractions and return */ }
};

假设您无法使用标准库容器。