質問: 発想がC#寄りなのかもしれないのですがQt(C++)でグローバルクラスを使用したいです C#はProgram.csにstatic宣言したクラスをアプリ全体で使うクラスにして 通信やログの出力に使用していましたが Qtではそんな使い方はしないのでしょうか 最終的にはアプリでバックグランドで動作するクラスが一番親になって 画面遷移をコントロールするところまで行きたいのですが Qtではそんな使い方はしないのでしょうか サンプルでもフォームが一番のものばかりですが、何か良いサンプルは無いでしょうか
回答: C#言語と異なり、C++言語ではクラス外に変数や関数を定義可能です。ただし、ヘッダーファイル内で定義してしまうと、インクルード先それぞれで実体化されるため意図した動作にならないかもしれません。ヘッダーファイル内で完結させる書き方もありますが、まずは宣言と定義を分離し、ヘッダーファイルに宣言を、cppファイルに定義を記述することをお勧めします。 サンプルもなにも、`sprintf`等、既に自由に使われているはずで、それを参照するといいと思います。