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;
    }
    

  • 相关阅读:
    Android 代码判断是否获取ROOT权限
    Tomcat环境变量
    Ubuntu Android环境搭建
    java 取出文本文件中的空行
    Step by Step for configuration of sending customize IDOC/自定义IDOC发送配置
    Oracle SQL语句执行完整过程:
    Continue Posting, Keep Fighting
    Moto G 通话没声音
    Android 手机技巧
    Digg Reader 登录不了,原来如此
  • 原文地址:https://www.cnblogs.com/sxy201658506207/p/7586324.html
Copyright © 2011-2022 走看看