C++第四次作业

第三次作业 类的继承

  • 类的继承

class Shape{
};
class Circle : public Shape{	
};

语法:class B : public A{}

  • B继承于A,A类是父类,B是派生类(子类)

  • 当B继承于A时,自动将父类中的所有public 成员继承,无法继承private的

  • 新的修饰符:protected

(1)该成员不能被外部访问,如private

(2)该成员可以被子类继承,如public

  • 在内存上描述父类和子类的关系:父类的内存在前面

ps: 父类的private成员变量也会出现在内存中,只是编译器限制了访问而已。

#include <iostream>
#include <time.h>
using namespace std;

class B1
{
public:
    B1(int i)
    {
        cout<<"constructing B1 "<<i<<endl;
    }
};

class B2
{
public:
    B2(int j)
    {
        cout<<"constructing B2 "<<j<<endl;
    }
};

class B3
{
public:
    B3()
    {
        cout<<"constructing B3"<<endl;
    }
};

class C: public B2, public B1, public B3
{
public:
    C(int a, int b, int c, int d):B1(a), memberB2(d), memberB1(c),B2(b)
    {

    }
private:
    B1 memberB1;
    B2 memberB2;
    B3 memberB3;
};

int main() 
{ 
    C obj(1,2,3,4);

    return 0; 
}

运行结果:
运行结果

posted @ 2019-10-13 23:27  SnowYouth  阅读(130)  评论(0编辑  收藏  举报