1

Code Completeを読んでいて、「パラメーターの受け渡しの合理化」について質問がありました。著者は、複数のルーチン間でパラメーターを渡す場合、それらのルーチンをクラス データとしてパラメーターを共有するクラスに分解する必要があることを示している可能性があると述べています。

これは、同じデータを使用する複数の別個のクラスがある場合、そのデータを使用する新しいクラスを 1 つ作成し、継承して新しいクラスを作成する必要があるということですか?

または

これは、私のプログラムに緩いルーチンがたくさんある場合、先に進んでそれらをクラスに入れ、カプセル化などの利点を得る必要があるということですか?

4

1 に答える 1

1

後者。彼らは次のようなケースについて話しているようです:

void function_1(std::string& my_data);
void function_2(std::string& my_data);

void main() {
    std::string my_data = "SomeString";
    function_1(my_data);
    function_2(my_data);
}

次のように変更できます。

class MyClass {
    std::string my_data;
public:
    MyClass(const std::string& str) : my_data(str) {}
    void function_1();
    void function_2();
}

void main() {
    MyClass obj("SomeString");
    obj.function_1();
    obj.function_2();
}

毎回文字列を渡す代わりに、どこでフィールドfunction_1function_2使用します。my_data

于 2016-03-23T12:21:37.077 に答える