#include<iostream>
using namespace std;
class Mammal{
public:
Mammal(){
cout<<"Mammal coustructor...\n";
}
virtual ~Mammal(){
cout<<"Mammal destructor...\n";
}
virtual void speak() const{
cout<<"Mammal speak!\n";
}
};
class Dog: public Mammal{
public:
Dog(){
cout<<"Dog Constructor...\n";
}
~Dog(){
cout<<"Dog destructor...\n";
}
void speak() const{
cout<<"Woof!\n";
}
};
int main(){
Mammal*pDog=new Dog;
pDog->speak();
delete pDog;
return 0;
}
运行结果:

该代码示例展示了C++中的类继承概念,Mammal类是基类,Dog类是派生类。Dog类重写了Mammal的speak方法。在main函数中,使用基类指针指向派生类对象,调用speak方法时实现了多态性。程序运行时会打印出相应的构造和析构函数信息。
634

被折叠的 条评论
为什么被折叠?



