クラスAとクラスのいくつかの関数、およびクラス外のいくつかのグローバル関数を使用するやや大きなプログラムがあります。次に、別の関数を使用して同時に操作したいクラスの複数のオブジェクトがあります。main の外で関数を宣言するのが最善であると私は信じています (少なくとも常にアドバイスされています)。
しかし、メインの外側で宣言すると、オブジェクトのスコープがメインのみに制限され、すべてのオブジェクトを別のパラメーターとして渡したくないため、オブジェクトを呼び出す適切な方法がないように見えます。関数を main 内に配置すれば、これらの問題は発生しないと思います。
これを行うよりエレガントな方法はありますか?
私の質問が明確でない場合のコードの概要は次のとおりです。
class A
{
void A1();
void A2();
void A3();
} //class functions that modify class objects
void A4(); //global function(cant call apple elegantly if placed here)
int main() {
A apple;
A banana; //class ojects
A4(); //gotta modify objects apple and banana by calling A1,A2,A3
// on them depending on the user input
return 0;
}
また、そのような場合、main 内で関数を宣言するだけでよい場合は、お知らせください。冗長なものではなく、最良の方法を実装する方法を知りたいだけです:)