我试过这个没有用:
void Map::OnLMClick(short xPos, short yPos)
{
SObject* pSObject = pEditWindow->GetSelectedItem();
if (pSObject==SOTile)
{
/* Do */
我试过这个作为测试:
SObject* EditorWindow::GetSelectedItem()
{
return pSOTile[1]; //pSOTile[1] is a valid pointer, member of EditorWindow
}
SOtile 类是基类 SObject 的子类。那么,是否有可能创建一个 Base* 以返回其子 * 之一,然后让程序根据返回的子元素做出不同的反应?如果是这种情况,那么我如何才能访问不是 base 成员的子成员?