假设我正在编写一个适用于项目的应用程序,并根据项目的类型公开不同的功能。我有不同类型项目的类层次结构:
class AbstractProject
{
};
class ProjectA : public AbstractProject
{
};
class ProjectB : public AbstractProject
{
};
class ProjectC : public AbstractProject
{
};
现在,我打算将 AbstractProject *_currentProject 指针作为应用程序主类中的成员,在启动时弹出一个对话框并根据选择执行以下操作:
_currentProject = new ProjectB(); // e.g.
稍后,我将不得不向下转换指向特定类型的指针,以利用特定于不同 Project-s 的功能。不知怎的,这让我感到不安。有没有更好的方法来做到这一点?