已知Horse类是Pegasus类的父类,根据以下主函数完善程序内容,以实现规定的输出。不允许改变主函数的内容。
int main() { Horse *p1 = new Horse; //输出:Horse 申请了空间... Horse *p2 = new Pegasus; /* 输出两行: Horse 申请了空间... Pegasus 申请了空间... */ cout << endl; p1->Fly(); //输出:Just a horse. p2->Fly(); //输出:I can fly! cout << endl; delete p1; //输出:Horse 释放了空间... delete p2; /* 输出两行: Pegasus 释放了空间... Horse 释放了空间... */ return 0; }
1 #include<iostream> 2 using namespace std; 3 4 class Horse 5 { 6 public: 7 Horse(){cout<<"Horse 申请了空间..."<<endl;} 8 virtual void Fly(){cout<<"Just a horse."<<endl;} 9 virtual ~Horse(){cout<<"Horse 释放了空间..."<<endl;} 10 }; 11 12 class Pegasus:public Horse 13 { 14 public: 15 Pegasus(){cout<<"Pegasus 申请了空间..."<<endl;} 16 void Fly(){cout<<"I can fly!"<<endl;} 17 ~Pegasus(){cout<<"Pegasus 释放了空间..."<<endl;} 18 }; 19 20 int main() 21 { 22 Horse *p1 = new Horse; //输出:Horse 申请了空间... 23 Horse *p2 = new Pegasus; /* 输出两行: 24 Horse 申请了空间... 25 Pegasus 申请了空间... 26 */ 27 cout << endl; 28 29 p1->Fly(); //输出:Just a horse. 30 p2->Fly(); //输出:I can fly! 31 cout << endl; 32 33 delete p1; //输出:Horse 释放了空间... 34 delete p2; /* 输出两行: 35 Pegasus 释放了空间... 36 Horse 释放了空间... 37 */ 38 return 0; 39 }