2014-10-01 71 views
0

我需要帮助在类中创建分数列表数组。 因此,让我们说我已经有一个私人分数类:分子和denom。在类中创建分数列表数组| C++

那么我猜想这fractionlist类中做的是

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

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

我真的只是想知道什么是应该我的私有数据成员呢?

这是我所拥有的。

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

} 

哪个私人成员的功能设置,所以我做什么问。所以基本上我需要那些允许我输入分数的数据成员。

+3

编写一个分数类并将分数存储在任何一个标准库容器中是否更有意义?此外,您展示的代码不是C++。 – juanchopanza 2014-10-01 19:56:24

+0

由于您知道每个列表有4个分数,只需使用'Fractionlist Max [4]' – texasbruce 2014-10-01 20:00:38

+0

那么分数列表在不同的.h中完成,它们都在不同的文件中,如.cpp/.h。我不知道,那是我的任务,在不同的.h文件中创建一个Fractionlist类。 – user3387140 2014-10-01 20:12:14

回答

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); 

要打印和求和矢量的内容, spectively。

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 */ } 
}; 

假设你不能使用标准库容器。