2946: 填空:间接基类就是A

时间限制: 1 Sec  内存限制: 128 MB

提交: 132  解决: 96

题目描述

如下程序所示,D继承自B和C,而B和C均继承自A。根据继承的机制,D的对象将拥有其所有“祖先”允许其继承的成员,以及该类新增的成员。main函数也很明确,用输入的整数初始化对象,然后按格式输出对象的成员值。请在begin到end之间补足空白处该填写的成份后,提交begin到end之间的代码。

#include <iostream>

using namespace std;

class A

{

protected:

    int x;

public:

    A(int a)

    {

        x=a;

    }

};



//***************begin*****************

class B: ___(1)_____ A

{

protected:

    int y;

public:

    B(int a,int b):A(a)

    {

        y=b;

    }

};



class C:___(2)_____A

{

protected:

    int z;

public:

    C(int a,int b):A(a)

    {

        z=b;

    }

};



class D: _________(3)__________

{

private:

    int t;

public:

    D(int a, int b, int c, int d):_________(4)___________{}

    void output()________(5)_________

};

//***************end*****************

    void D::output()

    {

        cout<<"x from A: "<<x<<endl;

        cout<<"y from B: "<<y<<endl;

        cout<<"z from C: "<<z<<endl;

        cout<<"t from D: "<<t<<endl;

    }



int main( )

{

    int a, b, c, d;

    cin>>a>>b>>c>>d;

    D x(a,b,c,d);

    x.output();

    return 0;

}

输入

4个整数,将在D类对象的构造函数中,分别初始化来自几个类中的数据成员

输出

各个类中的数据成员的值

样例输入

1 2 3 4

样例输出

x from A: 1
y from B: 2
z from C: 3
t from D: 4

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

#include <iostream>
using namespace std;
class A
{
protected:
int x;
public:
A(int a)
{
x=a;
}
};
class B: public A
{
protected:
int y;
public:
B(int a,int b):A(a)
{
y=b;
}
};
class C:public A
{
protected:
int z;
public:
C(int a,int b):A(a)
{
z=b;
}
};
class D
{
private:
int x,y,z,t;
public:
D(int a, int b, int c, int d):x(a),y(b),z(c),t(d) {}
void output();
};
void D::output()
{
cout<<"x from A: "<<x<<endl;
cout<<"y from B: "<<y<<endl;
cout<<"z from C: "<<z<<endl;
cout<<"t from D: "<<t<<endl;
}
int main( )
{
int a, b, c, d;
cin>>a>>b>>c>>d;
D x(a,b,c,d);
x.output();
return 0;
}

YTU 2946: 填空:间接基类就是A的更多相关文章

  1. YTU 2642: 填空题:类模板---求数组的最大值

    2642: 填空题:类模板---求数组的最大值 时间限制: 1 Sec  内存限制: 128 MB 提交: 646  解决: 446 题目描述   类模板---求数组的最大值    找出一个数组中的元 ...

  2. YTU 2636: B3 指向基类的指针访问派生类的成员函数

    2636: B3 指向基类的指针访问派生类的成员函数 时间限制: 1 Sec  内存限制: 128 MB 提交: 433  解决: 141 题目描述 领导类(Leader)和工程师类(Engineer ...

  3. C++学习20 虚基类详解

    多继承时很容易产生命名冲突,即使我们很小心地将所有类中的成员变量和成员函数都命名为不同的名字,命名冲突依然有可能发生,比如非常经典的菱形继承层次.如下图所示: 类A派生出类B和类C,类D继承自类B和类 ...

  4. 一目了然c++虚基类!

    #include <IOSTREAM.H> //基类 class CBase ...{ protected: int a; public: CBase(int na) ...{ a=na; ...

  5. C++虚基类详解(转)

    我们知道,如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员.在引用这些同名的成员时,必须在派生类对象名后增加直接基类名,以避 ...

  6. C++虚基类的作用

    虚基类的作用     当一个基类被声明为虚基类后,即使它成为了多继承链路上的公共基类,最后的派生类中也只有它的一个备份.例如:class CBase { }:class CDerive1:virtua ...

  7. C++学习之路—继承与派生(三):多重继承与虚基类

    (根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 多重继承是指一个派生类有两个或多个基类.例如,有 ...

  8. OOP2(虚函数/抽象基类/访问控制与继承)

    通常情况下,如果我们不适用某个函数,则无需为该函数提供定义.但我们必须为每个虚函数都提供定义而不管它是否被用到了,这因为连编译器也无法确定到底会适用哪个虚函数 对虚函数的调用可能在运行时才被解析: 当 ...

  9. 详解C++中基类与派生类的转换以及虚基类

    很详细!转载链接 C++基类与派生类的转换在公用继承.私有继承和保护继承中,只有公用继承能较好地保留基类的特征,它保留了除构造函数和析构函数以外的基类所有成员,基类的公用或保护成员的访问权限在派生类中 ...

随机推荐

  1. Leetcode 239.滑动窗口最大值

    滑动窗口最大值 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口 k 内的数字.滑动窗口每次只向右移动一位. 返回滑动窗口最大值. 示例: ...

  2. Codeforces Round #386 (Div. 2) A+B+C+D!

    A. Compote 水题(数据范围小都是水题),按照比例找最小的就行了,3min水过. int main() { int a,b,c; while(~scanf("%d%d%d" ...

  3. hust 1017 dancing links 精确覆盖模板题

    最基础的dancing links的精确覆盖题目 #include <iostream> #include <cstring> #include <cstdio> ...

  4. 【multimap的应用】D. Array Division

    http://codeforces.com/contest/808/problem/D #include<iostream> #include<cstdio> #include ...

  5. [HNOI2015]实验比较 树形dp+组合数学

    在合并的时候有可以加等于,或者继续用小于, 比如siz[x]和siz[y]合并,小于的区间为max(siz[x],siz[y])<=k<=siz[x]+siz[y], 然后就是合并成多少个 ...

  6. PHP文件属性相关函数

    <meta charset= "utf-8"><?php //获取文件属性的函数 function getFilePro($filename) { //检测文件是 ...

  7. poj 1236+hdu2767 有向图 缩点+看度数(tarjan)

    1236题意:一个有向图,1,求至少从几个点出发可以遍历该图,2:,求至少添加多少边,使强连通.而,HDU的只有后面一问. 解;先缩点,第一问只需找所有入度为0的点即可.,第2问,max(入度为0的点 ...

  8. Toy Storage--POJ2398(计算几何)

    http://poj.org/problem?id=2398 这道题和上一道TOYS是一样的   就是输出不一样  还有就是这个给的是乱序  你要先对挡板排序 #include <iostrea ...

  9. codechef Taxi Driver

    题意: 给N个点求任意两个点的“距离”总和: A,B的“距离”定义为:min(|ax-bx|,|ay-by|) (n<200000) 好题! 解析: 看着没思路 先是公式化简:让 ax=sx+s ...

  10. 【Nginx】Nginx的配置

    配置文件为.conf文件 一.块配置项 块配置项由一个块配置项名和一对大括号组成.具体如下: events{ ... } http{ upstream backend{ server 127.0.0. ...