zoukankan      html  css  js  c++  java
  • YTU 2979: MathBook类--多态

    2979: MathBook类--多态

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 51  解决: 31

    题目描述

    Book类将自己的display函数设计为虚函数,从而通过父类指针调用其继承者MathBook的display函数实现多态。请将MathBook类补充完整。

    只需提交补充部分。

    请用C++方式提交

    以下代码自动添加到提交代码前:
    #include <iostream>
    using namespace std;
    class Book
    {
    public:
        Book(int,int);
        virtual void display();
    protected:
        int price;
        int page;
    };
    class MathBook:public Book
    {
    public:
        MathBook(int,int,int);
        void display();
    private:
        int difficulty;
    };
    Book::Book(int a,int b)
    {
        price=a;
        page=b;
    }
    void Book::display()
    {
        cout<<"price:"<<price<<endl;
        cout<<"page:"<<page<<endl;
    }
    MathBook::MathBook(int a,int b,int c):Book(a,b)
    {
        difficulty=c;
    }

    //以下代码自动添加到提交代码后:
    int main()
    {
        int price,page,difficulty;
        cin>>price>>page;
        Book book(price,page);
        cin>>price>>page>>difficulty;
        MathBook math(price,page,difficulty);
        Book *p=&book;
        p->display();
        cout<<endl;
        p=&math;
        p->display();
        return 0;
    }

    输入

    第一行输入book对象的price和page;
    第二行输入math对象的price、page和difficulty

    输出

    两个对象的信息

    样例输入

    50 220
    50 220 5

    样例输出

    price:50
    page:220
    
    price:50
    page:220
    difficulty:5
    

    你  离  开  了  ,  我  的  世  界  里  只  剩  下  雨  。  。  。

    #include <iostream>
    using namespace std;
    class Book
    {
    public:
        Book(int,int);
        virtual void display();
    protected:
        int price;
        int page;
    };
    class MathBook:public Book
    {
    public:
        MathBook(int,int,int);
        void display();
    private:
        int difficulty;
    };
    Book::Book(int a,int b)
    {
        price=a;
        page=b;
    }
    void Book::display()
    {
        cout<<"price:"<<price<<endl;
        cout<<"page:"<<page<<endl;
    }
    MathBook::MathBook(int a,int b,int c):Book(a,b)
    {
        difficulty=c;
    }
    void MathBook::display()
    {
        cout<<"price:"<<price<<endl;
        cout<<"page:"<<page<<endl;
        cout<<"difficulty:"<<difficulty<<endl;
    }
    int main()
    {
        int price,page,difficulty;
        cin>>price>>page;
        Book book(price,page);
        cin>>price>>page>>difficulty;
        MathBook math(price,page,difficulty);
        Book *p=&book;
        p->display();
        cout<<endl;
        p=&math;
        p->display();
        return 0;
    }
    

  • 相关阅读:
    redis
    linux systemd
    分布式高可用架构演进
    c++ 多线程 信号量简单使用
    JAVA上传文件到FTP上
    JAVA字符串去掉html代码
    jQuery判断复选框是否勾选
    SpringBoot全局异常处理
    SpringBoot统一日志打印
    JAVA加解密之DES
  • 原文地址:https://www.cnblogs.com/im0qianqian/p/5989642.html
Copyright © 2011-2022 走看看