オブジェクトをテストして、特定のメンバーがあるかどうかを確認するにはどうすればよいでしょうか? または、オブジェクトが特定のクラスのインスタンスであるかどうかを確認する方法はありますか?
私はキャラクター画像の継承構造を扱っています。String_Pics、HCat_Pics、VCat_Pics、および Frame_Pics があります。それらはすべて Pic_Base から派生します。ユーザーは、オブジェクトへのスマート ポインターを含むハンドル クラス "Picture" を使用します。各オブジェクトは、元になる画像 (別の画像のフレーム、水平に連結された 2 つの画像など) へのポインターを格納します。
例: VCat-Pic の周りに Frame-Pic があり、VCat-Pic 内の両方の写真が String_Pic の周りに Frame_Pic です。
***************
* *
* *********** *
* * This * *
* * is * *
* *********** *
* *********** *
* * The * *
* * Example * *
* *********** *
* *
***************
Frame_Pics には「フレーム文字」のデータ メンバがありますが、他のクラスにはありません。構造内のすべてのフレームのフレーム文字を再帰的に変更する関数を作成しています。そうでなければこれを行う方法が欠けているかもしれませんが、扱っているオブジェクトが Frame_Pic であるかどうかをテストする方法を探しています。 .
私の最初の本能はif (p->frame_char)
、frame_char が Frame_Pic のデータ メンバーの 1 つの名前であるようなものを試すことでしたが、これを行う方法がわかりません。