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