已知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 }