纯虚函数的语法是:
class Y {
public :
virtual void X () = 0;
};
在类内定义时是不能实现的,但是在类外是可以实现的:
void Y:: X() {
cout << "amazing!" << endl;
}
#include <iostream>
using namespace std;
class Pet {
public:
virtual void speak() const = 0;
virtual void eat() const = 0;
};
void Pet:: eat() const {
cout << "Pet:: eat()" << endl;
}
void Pet :: speak() const {
cout << "Pet::speak()" << endl;
}
class Dog : public Pet {
public :
void speak() const {
Pet::speak();
}
void eat() const {
Pet::eat();
}
};
int main()
{
Dog simba;
simba.speak();
simba.eat();
cout << "Hello world!" << endl;
return 0;
}