C++のクラス (class) と構造体 (struct) は、デフォルトのメンバーアクセスレベルが異なるだけなので、機能的な違いはありません*1。構造体でも、メンバー変数だけでなくメンバー関数を定義することができます。当然コンストラクタやデストラクタをユーザー定義することもできます。 コード例: #include <string> struct MyStruct { std::string name; // デフォルトコンストラクタで空文字列に必ず初期化されるので、コンストラクタのメンバー初期化子リストに記述する必要はない。 bool isEnabled; bool isChecked; float positionX; float positionY; int orderZ; // ゼロ相当の値で POD 型メンバー変数を初期化。 MyStruct() : isEnabled() ,