向量和抽象类
Vectors and abstract classes
在SFML中,有几种类型的对象(sf::Shape、sf::Sprite、sf::Text)继承了抽象基类sf::Drawable。如果我创建了一个std::向量,我可以在该向量中存储所有继承sf::Drawable类的对象吗?
如果您创建一个std::vector
来存储某种形式的指针(实际上是一个智能指针),您就可以做到这一点。
不能创建抽象类的对象,因此不能将它们存储在向量中。但是,您可以将指向这些对象的指针存储在向量中。
是的,如果您将向量声明为,则可以
std::vector <sf::Drawable*>
基于这个基类的对象上的任何指针都可以存储在向量中。
如果我创建了一个std::向量,我可以在该向量中存储所有继承sf::Drawable类的对象吗?
是的,你可以做到。那么您将需要一个指针向量(因为您无法实例化抽象类)。
相关文章:
- 如何将子类作为函数的参数传递给期望基类,然后将该对象传递到指向这些抽象类对象的指针向量中?
- 抽象类中的向量
- 删除指向抽象类的指针向量
- 如何在C++中声明抽象类的向量列表?
- 遍历抽象类的向量
- 抽象类向量的C++向量
- 具有继承类和函数的抽象类写入单独的向量c++
- 将抽象派生类对象存储在基类向量中
- 指向模板抽象类的指针向量
- 创建一个抽象类类型的集合,shared_ptr的抽象类向量
- 列表与向量与抽象类
- 本征矩阵和向量之上的抽象类
- 抽象类的shared_ptr向量到副本的向量
- 抽象调用以组合类向量的结果
- visual C++无法访问抽象类的向量的元素
- 向量和抽象类
- 如何在c++中实现与抽象类指针向量的缓存一致性
- 无法为向量和抽象类特化模板函数
- 从抽象类的指针向量调用函数
- C++访问抽象类指针向量的子类的成员