0

私はこれをできるだけ簡潔にしようとします.これらの質問は「基本的な」と見なすことができることを理解しています.cplusplus.comやyolinuxチュートリアルなどのWebサイトはすでに見ました.ちょうど大きな頭部外傷を負った..

1)

class Rectangle {
private:
    int lineNumber; // LineNumber of the ACSIL Tool
    float valueMax; // value of the higher limit of the rectangle
    float valueMin; // value of the lower limit of the rectangle
public:
    Rectangle(SCStudyInterfaceRef sc, int lineNumber, float valueMax, float valueMin);
    int getLineNumber();
    float getValueMax();
    float getValueMin();
};

したがって、int linenumber、valueMax、および ValueMin はプライベート メンバーとして宣言されているため、同じクラスのメンバーのみがアクセスできます。問題ありません。しかし、「public:」に続く部分はどうでしょうか。

a) Is Rectangle(SCStudyInterfaceRef sc, int lineNumber, float valueMax, float valueMin); オーバーロードされている関数? はいの場合、 int getLineNumber() などはその関数の一部ですか、またはクラスのパブリック部分の別のメンバーですか?

2)

Rectangle::Rectangle(SCStudyInterfaceRef sc, int lineNumber0, float value1, float value2) {
    lineNumber = lineNumber0;
    int value2_greater_than_value1 = sc.FormattedEvaluate(value2, sc.BaseGraphValueFormat, GREATER_OPERATOR, value1, sc.BaseGraphValueFormat); 
    if (value2_greater_than_value1 == 1) {
        valueMax = value2;
        valueMin = value1;
    } else {
        valueMax = value1;
        valueMin = value2;
    }
}

int Rectangle::getLineNumber() {
    return lineNumber;
}

float Rectangle::getValueMax() {
    return valueMax;
}

float Rectangle::getValueMin() {
    return valueMin;
}

a) 長方形クラスの public 部分内で定義された関数は、ここで「定義」されているか、それらの線に沿って何かが定義されていると確信しています。

b) Rectangle::Rectangle(SCStudyInterfaceRef sc, int linenumber0, float value1, float value2) 部分で何が起こっているのか、本当に混乱しています。関数自体で何が起こっているかのロジックは理解していますが、「 ( ) 」内に入力されているパラメーターと、これがクラスのパブリック部分内で発生することと正確にどのように関連しているかについて混乱しています。これは、答える必要のある最も重要な質問です。

私はできる限り簡潔で正確であるように努めましたが、この構文を理解するのにいくらか助けていただければ幸いです。

4

3 に答える 3

0

Rectangle::Rectangle はクラス コンストラクターです。Rectangle オブジェクトが作成されるたびに呼び出されます。コンストラクタについて読んで理解を深めてください。

コンストラクターは、valueMax および valueMin メンバー変数の初期値を設定しています。これを行うために、コンストラクターに渡されたパラメーターを使用します。理解を深めるために、関数パラメーターについて読んでください。

于 2013-07-13T23:46:42.230 に答える
0

質問 1 4 つのパラメーターを
持つコンストラクターです。

int getLineNumber();
float getValueMax();
float getValueMin();

クラス内のすべてのメンバー関数です。

質問 2
前に定義したコンストラクターは、4 つのパラメーターで呼び出されます。他のコンストラクターが定義されていない場合は、正確に 4 つのパラメーターを使用してクラスをインスタンス化する必要があります。

Rectangle *rect = new Rectangle(sc, 100, 1.2, 6.8);

または単に:

Rectangle rect(sc, 100, 1.2, 6.8);

これらのパラメータは、「オブジェクトを初期状態に設定する」ために使用されます。

メンバー関数は、現在の (または最終または唯一の) 状態でさまざまな値を取得するために使用されます。

于 2013-07-13T23:49:01.430 に答える