zoukankan      html  css  js  c++  java
  • [YTU]_2476(E3 继承了,成员函数却不可访问)

    题目描述

    下面的程序中,派生类Derive继承自基类Base,main函数中,要通过Derive类的对象d,输出继承自Base及其自身的val数据成员的值。例如,输入的n为100,继承自Base及的val值是10,而自身的val的值为110。很遗憾,下面的程序中,在begin和end之间有两处语法错误,请修改并提交这部分代码。
    #include <iostream>
    using namespace std;
    class Base
    {
        private:
        int val;
    public:
        Base():val(10){}
        int getV(){return val;}
    };
    //************* begin *****************
    class Derive: Base //(1)
    {
    private:
        int val;
        int getV(){return val;}  //(2)
    public:
        Derive():val(0){}
        void setV(int i)
        {
            val=Base::getV()+i;
        }
    };
    //************* end *****************
    int main()
    {
        int n;
        cin>>n;
        Derive d;
        d.setV(n);
        cout<<d.Base::getV()<<" "<<d.getV()<<endl;
        return 0;
    }

    输入

    一个整数n,用于设置d.val的值

    输出

    两个整数,第一个是通过d对象的基类Base的成员函数getV返回的val值,固定为10,第二个是通过d对象的成员函数getV返回的val值,由函数的定义,为10加上输入的n值

    样例输入

    100

    样例输出

    10 110
    #include <iostream>
    using namespace std;
    class Base
    {
        private:
        int val;
    public:
        Base():val(10){}
        int getV(){return val;}
    };class Derive:public Base
    {
    private:
        int val;
    public:
        Derive():val(0){}
        void setV(int i)
        {
            val=Base::getV()+i;
        }
        int getV(){return val;}
    };
    int main()
    {
        int n;
        cin>>n;
        Derive d;
        d.setV(n);
        cout<<d.Base::getV()<<" "<<d.getV()<<endl;
        return 0;
    }
    

  • 相关阅读:
    软件工程第一个个人小程序
    关于程序的单元测试
    求整数数组中子数组最大的和
    电梯调度程序开发 付亚飞 段兴林
    每天听英语系列一
    去除U盘写保护
    显示pdf格式的图片
    在页面判断起始时间是否大于结束时间
    从页面上灵活增删改查
    柱形图,饼状图,折线图JavaScript
  • 原文地址:https://www.cnblogs.com/sxy201658506207/p/7586324.html
Copyright © 2011-2022 走看看