-7

シンタックス、デザインに関して、以下のコードの問題は何ですか? 回答ありがとうございます。アイデアは、サブ要素のリストを含むクラス要素を作成することです。サブ要素を追加し、すべての要素の平均を取得できる必要があります。私はJavaで考えていましたが、C++では考えていませんでした。そのようなクラスをC++で適切な方法で実装する方法を知りたいです。

class Elements
{
private:
    int nbValues;
    int values[MAX];
    double coefs[MAX];
public: 
    Element(){}

    double getAverage()
    {
        double sum;
        for(int i =1; i<= MAX; i++)
        {
                sum = sum+values[i]*coefs[i];
        }
        return sum/nbValues;
    }
    void addElement(int value, double coef)
    {
        values[nbValues]=value;
        coefs[nbValues]=coef;
        ++nbValues; 
    }
}
4

2 に答える 2

0

Elements(){} の代わりにコンストラクター要素のタイプミス

コンストラクターで nbvalues を初期化できます。

 Elements() : nbvalues(0) {}
于 2013-06-02T13:47:46.300 に答える
0

現在の形式では、すべてのメソッドがプライベートです。次の方法で getAverage() と addElement() を公開できます。

class Elements
{
    int nbValues;
    int values[MAX];
    double coefs[MAX];

    Element(){}

    public: // all the members & methods below will be public

    double getAverage()
    {
    int sum;
    for(int i =1; i<= MAX; i++)
    {
        sum = sum+values[i]*coefs[i];
    }
    return sum/nbValues;
    }
    void addElement(int value, double coef)
    {
        values[nbValues]=value;
    coefs[nbValues]=coef;
    ++nbValues; 
    }
}
于 2013-06-02T13:48:45.103 に答える