无法创建指向抽象类的指针

时间:2015-06-10 02:04:17

标签: c++ class abstract

我最近在我的应用程序中编写了一些笑脸,但我在选项界面中调用它时遇到了麻烦。我想要从optioninterface调用它的原因是我想添加2组表情符号,如果Setting.nEmoji的值为0或1,则调用另一组。函数loademojis()在应用程序启动时被调用(它在接口解决方案中进行技术编码)。我可以从一个处理用户输入的函数调用它,但它产生了可怕的延迟,我假设因为每次键入一个字母,它清除了数组并再次加载了表情符号。长话短说,我想知道是否有任何方法来创建一个抽象类的指针,所以我可以从我的选项菜单中调用它。每次我创建一个指针并从选项菜单调用它时它会崩溃。这是我如何创建指针

MDrawContext* pDC

void MDrawContext::LoadEmojis()
{
    if (Z_VIDEO_EMOJIS == 1)
    {
        m_Emoji[";)"] = "wink.png";
        m_Emoji[":)"] = "smile.png";
        m_Emoji[":D"] = "biggrin.png";
        m_Emoji[":("] = "frown.png";
        m_Emoji[":O"] = "eek.png";
        m_Emoji[":P"] = "tongue.png";
        m_Emoji[":?"] = "confused.png";
        m_Emoji[":4"] = "cool.png";
        m_Emoji[":3"] = "redface.png";
        m_Emoji[":@"] = "mad.png";
        m_Emoji[":I"] = "rolleyes.png";
        m_Emoji[":K"] = "kappa.png";
    }
    else
    {
        m_Emoji[";)"] = "wink2.png";
        m_Emoji[":)"] = "smile2.png";
        m_Emoji[":D"] = "biggrin2.png";
        m_Emoji[":("] = "frown2.png";
        m_Emoji[":O"] = "eek2.png";
        m_Emoji[":P"] = "tongue2.png";
    }
}
//custom: reloademojis allows players to choose between ios/forum emojis
void MDrawContext::ReloadEmojis()
{
    m_Emoji[";)"].clear();
    m_Emoji[":)"].clear();
    m_Emoji[":D"].clear();
    m_Emoji[":("].clear();
    m_Emoji[":O"].clear();
    m_Emoji[":P"].clear();
    m_Emoji[":?"].clear();
    m_Emoji[":4"].clear();
    m_Emoji[":3"].clear();
    m_Emoji[":@"].clear();
    m_Emoji[":I"].clear();
    m_Emoji[":K"].clear();
    LoadEmojis();
}
//Calling the pointer (different cpp)
    int nEmojiType = 0;
if(nEmojiType != Z_VIDEO_EMOJI)
{
  pDC->ReloadEmojis();
  nEmojiType = Z_VIDEO_EMOJI;
}

0 个答案:

没有答案