c++ - 数组的多态性
问题描述
我将尝试快速解释问题。我有一个这样的基类:
class ArrayEntry
{
}
class BaseClass
{
ArrayEntry[] m_Array;
}
这两个是基类。所以在此之后,我有这两个类:
class ClassA : BaseClass
{
}
class ClassAEntry : ArrayEntry
{
}
我会用 ClassAEntry 填充 m_Array 但如果我想这样调用:
ClassA classA = new ClassA();
for (ClassAEntry entry : classA.m_Array)
...
我会得到一个错误。所以每次我想访问一个数组时,我都必须转换条目。
for (ArrayEntry entry : classA.m_Array)
{
ClassAEntry castedEntry = (ClassAEntry)entry;
..
}
我不想对 100 种不同的方法使用强制转换,只是为了能够为每个调用使用 a。
有没有更优雅的解决方案?
解决方案
推荐阅读
- javascript - 如何在同一个域下提供 2 个不同版本的网站?
- php - 使用 cakephp3 将多个值从表单发送到控制器
- java - JBOSS 服务器日志显示错误 SESSIONINFO 添加空值
- python - 创建 pyinstaller 可执行文件
- javascript - 使用对象 url 设置图像的 src 在电子中不起作用
- android - 如何在 AOSP 构建中将应用程序或 apk 安装到 data/app 目录中?
- postgresql - 服务器未监听所有 IP 地址
- c++ - 迭代器的问题
- docker - 如何将 Web 前端链接到后端
- python - 如何使用 Flask 和 OpenCV 显示图片服务器端?