调用数组中对象的成员函数

时间:2017-03-19 21:49:36

标签: c++ polymorphism virtual

鉴于以下类别:

class animal {
public:
    virtual void noise() { };
};

class cat: public animal{
public:
    void noise() {
        cout << "mew" << endl;
    }
};

为什么这样做(打印正确的噪音):

animal *animals[2];
animals[0] = new dog;
animals[0]->noise();

但这并不是:

animal animals[2];
dog dog1;
animals[0] = dog1;
animals[0].noise();

有没有办法让它在不使用指针的情况下工作? 该软件希望我添加更多文本,但我想我已经非常清楚地提出了我的问题所以这只是随机文本......

0 个答案:

没有答案