• 在下面程序的横线处填上适当的语句,使该程序的输出为12。

    include <iostream>
    using namespace std;
    class Base
    {
    public:
    int a;
    Base(int i){a=i;}
    };
    class Derived: public Base
    {
    int a;
    public:
    Derived(int x): Base(x),b(x+l){}
    void show()
    {
    【 】;∥输出基类数据成员a的值。
    cout<<b<<end1;
    }
    };
    int main()
    {
    Derived d(1);
    d.show();
    return 0;
    }

    正确答案:coutBase::acoutBase::a 解析:本题考核作用域分辨符号的使用。作用域分辨符号是“::”,它可以用来限定要访问的成员所在的类的名称。一般来说,在派生类中对基类成员的访问应该是惟一的。但是,多继承情况下可能造成对基类中某个成员的访问出现不惟一的情况,通过使用对象作用域分辨符可以解决这种对基类成员访问的二义性问题。题中派生类Derived与基类Base定义了数据成员a,所以要访问基类数据成员可以通过作用域分辨符来实现。
  • 2021年07月16日 22时02分来自  问答库 >> 计算机类
  • 评论 0
  • 手机玩微博

    手机版 手机端
    Powered by 日新微博 © 2018 - 2020 日新网