私はマイクロコントローラ用のプログラムをC++で書いています。それに接続されたコンピュータからいくつかの数値を入力する関数を書く必要があります。C++は関数の流れを整理します
この関数は、コンピュータからデータ(文字)を取得し、その文字が有効かどうかをチェックし、実際の数字で文字を変換するなど、多くの異なる明確なタスクを実行する必要があります。単一の機能として書かれていると、少なくとも500行の長さになります。だから私は短い関数のグループと他のものを唯一意味のある順序で呼び出す1つの "main"関数を書くでしょう。これらの関数は、コードの残りの部分では決して呼び出されません(もちろんmain関数を除く)。ひとつ最後のこと - 関数はお互いにかなりの変数を渡す必要があります。
これらの機能を整理するにはどうすればよいでしょうか?私の最初の難しさは、パブリックセクションの "main"関数だけを持つクラスと、他の関数と、プライベートメンバーとしてさまざまな関数で共有される変数を作成することでしたが、これが良い方法であるかどうか疑問に思っていました。この「機能のグループ」私はそのような何かをする必要があります使用する例えば「クラス」のC++概念...:
class GetNumbers {
public:
//using the constructor as what I called "main" function
GetNumbers(int arg1, char arg2) {
performFirstAction();
performSecondAction();
...
}
private:
performFirstAction() {...};
performSecondAction() {...};
...
bool aSharedVariable;
int anotherVariable;
...
};
そして、私が実際に入力するコンピュータからこれらの数字を必要とします: 「メイン」機能通常のクラスメソッド(やないコンストラクタ)を作成
GetNumbers thisMakesNoSenseInMyOpinion (x,y);
はさらに悪化するようだ:
GetNumbers howCanICallThis;
howCanICallThis.getNumbers(x,y);
...
//somewhere else in the same scope
howCanICallThis.getNumbers(r,s);