SFML には、抽象基本クラス sf::Drawable を継承するいくつかのタイプのオブジェクト (sf::Shape、sf::Sprite、sf::Text) があります。std::vector を作成した場合、sf::Drawable クラスを継承するすべてのオブジェクトをその vector に格納できますか?
user768417
質問する
846 次
4 に答える
2
抽象クラスのオブジェクトを作成できないため、それらをベクトルに格納することはできません。ただし、これらのオブジェクトへのポインターをベクターに格納することはできます。
于 2013-07-17T19:25:38.150 に答える
2
std::vector
何らかの形式のポインター(理想的にはスマート ポインター) を格納する を作成すると、それを行うことができます。
于 2013-07-17T19:25:44.107 に答える
1
はい、ベクトルを次のように宣言すればできます
std::vector <sf::Drawable*>
この基本クラスに基づくオブジェクトの任意のポインターをベクターに格納できます。
于 2013-07-17T19:27:09.050 に答える
0
std::vector を作成した場合、sf::Drawable クラスを継承するすべてのオブジェクトをその vector に格納できますか?
はい、できます。その場合、ポインターのベクトルが必要になります (抽象クラスをインスタンス化できないため)。
于 2013-07-17T19:26:00.920 に答える