首页 > 编程语言 >2023.5.24编程一小时打卡

2023.5.24编程一小时打卡

时间:2023-05-24 20:25:16浏览次数:39  
标签:24 输出 Horse 函数 Pegasus 2023.5 打卡 include cout

一、问题描述:

已知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 #include<string>
 3 #include<iomanip>
 4 using namespace std;
 5 class Horse
 6 {
 7 public:
 8     Horse()
 9     {
10         cout<<"Horse 申请了空间..."<<endl;
11     }
12     virtual void Fly()
13     {
14         cout<<"Just a horse."<<endl;
15     }
16     virtual ~Horse()
17     {
18         cout<<"Horse 释放了空间..."<<endl;
19     }
20 };
21 class Pegasus:public Horse
22 {
23 public:
24     Pegasus():Horse()
25     {
26         cout<<"Pegasus 申请了空间..."<<endl;
27     }
28     void Fly()
29     {
30         cout<<"I can fly!"<<endl;
31     }
32     ~Pegasus()
33     {
34         cout<<"Pegasus 释放了空间..."<<endl;
35     }
36 };
37 int main()
38 {
39     Horse *p1 = new Horse; //输出:Horse 申请了空间...
40     Horse *p2 = new Pegasus; /*  输出两行:
41                                  Horse 申请了空间...
42                                  Pegasus 申请了空间...   
43                      */    
44     cout << endl; 
45     
46     p1->Fly(); //输出:Just a horse.
47     p2->Fly(); //输出:I can fly!
48     cout << endl; 
49     
50     delete p1; //输出:Horse 释放了空间...
51     delete p2;  /* 输出两行:
52                    Pegasus 释放了空间... 
53                    Horse 释放了空间... 
54             */
55     return 0;
56 }

 

标签:24,输出,Horse,函数,Pegasus,2023.5,打卡,include,cout
From: https://www.cnblogs.com/lixinyao20223933/p/17426240.html

相关文章

  • 打卡
    1.问题:求两个正整数之间的最大公约数。2.思路:用暴击穷举法,简单粗暴地把1~y(前面已经假设x>y)都列出来分别判断是否为x、y的公约数,然后再找到其中最大的一个。3.程序流程图: 4.代码实现:#include<iostream>usingnamespacestd;intmain(){ intx,y; cin>>x>>y; intco......
  • 2023-05-24:为什么要使用Redis做缓存?
    2023-05-24:为什么要使用Redis做缓存?答案2023-05-24:缓存的好处买啤酒和喝啤酒的例子可以帮助我们理解缓存的好处。假设你在超市里买了一箱啤酒,如果你需要每次想喝啤酒就去超市购买,无疑会浪费很多时间和精力。而如果你将一部分啤酒放在家中的冰箱里,每次想喝啤酒时就从冰箱里取出来,那......
  • 5月24日打卡
    例5-9常引用做形参 #include<iostream>#include<cmath>usingnamespacestd;classPoint{public:Point(intx=0,inty=0):x(x),y(y){}intgetX(){returnx;}intgetY(){returny;}friendfloatdist(constPoint&p1,constPoint......
  • 2023-05-24:为什么要使用Redis做缓存?
    2023-05-24:为什么要使用Redis做缓存?答案2023-05-24:缓存的好处买啤酒和喝啤酒的例子可以帮助我们理解缓存的好处。假设你在超市里买了一箱啤酒,如果你需要每次想喝啤酒就去超市购买,无疑会浪费很多时间和精力。而如果你将一部分啤酒放在家中的冰箱里,每次想喝啤酒时就从冰箱里取出......
  • 5.24
    python电子算盘fromtkinterimport* tk=Tk()tk.title("电子算盘")#窗口名称tank=Canvas(tk,width=1000,height=600,bg='ivory')#创建画板tank.pack()#显示画板tank.create_rectangle(30,30,520,190,width=3)#左上侧方框tank.create_rectangle(30,19......
  • 编程打卡:面向对象程序设计
    importjava.util.*;publicclassStaffManagementSystem{privatestaticList<Staff>staffList=newArrayList<>();publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);while(true){......
  • 5.24
    #include<iostream>#include<cmath>usingnamespacestd;classPoint{private:doublex;doubley;doublez;public:Point(doublea,doubleb,doublec):x(a),y(b),z(c){};frienddoubleoperator-(Point,Point);};template<class......
  • 刘铭诚:5.24今日黄金价格涨跌走势分析,原油EIA数据行情提前布局
    黄金行情走势分析——昨日黄金行情走势V型反转,白盘跌至1954一线,然后连续收阳K线反弹高点触及1980一线,上下波幅达26个点,但是整体走势还是处于4小时上下轨区间内运行,更大的空间需要等待区间破位才会选择方向。技术面上黄金价格昨日又一次试探日线布林带下轨附近也再次反......
  • 5.24打卡
    #include<bits/stdc++.h>usingnamespacestd;classPoint{public:Point(intxx=0,intyy=0){x=xx;y=yy;}Point(Point&p);intgetX(){returnx;......
  • 5.24
    #include<stdio.h>voidmain(){longinta,b,c;printf("Pleaseenteraoptionalfraction(a/b):");scanf("%ld%ld",&a,&b);printf("Itcanbedecomposedto:");while(1){if(b%a)c=b/a+1;else{c=b/a;a=1;}if(a==1){printf("......