C++,多态没法使用,

#include<iostream>
using namespace std;
#include<string>

class Animal
{
public:
    //纯虚函数
    virtual void speak() = 0;
};

class Cat :public Animal
{
public:
    Cat(string name)
    {
        m_Name = new string(name);

    }

    virtual void speak()
    {
        cout <<*m_Name<< "小猫在说话" << endl;
    }

    string *m_Name;
};

void test01() 
{
    Animal * animal = new Cat("tom");//创建一个父类指针指向子类对象
    animal->speak();
    delete animal;

}


int main()
{

    void test01();

    system("pause");
    return 0;
}

int main()
{

    void test01();-------这是什么鬼?要定义函数吗?你直接test01();就行了

    system("pause");
    return 0;
}

speak()应该是可以正常执行的,会调用Cat中的speak()

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y