Hàm thuần ảo trong OOP

Cho em hỏi em có lớp Animal ở file Animal.h như sau:

class Animal {
public:
        virtual string say() = 0;
};

Nhưng khi em định nghĩa cho hàm say() của lớp Dog trong file Dog.h được kế thừa từ lớp Animal:

#include "Animal.h"
class Dog : public Animal {
private:
         int _height;
         int _weight;
public:
        string say() { return 'Gau gau' ;}
};

Thì lại báo lỗi ‘say is not a member of Animal’ ạ? Cho em hỏi cách khắc phục ạ?

virtual string say() = 0;

Bạn có ý gì khi viết dòng lệnh này?

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?