关于c+中类派生的问题+;? 我想知道C++中的类派生的一些事情。 所以我有一个超类x和一个继承的类y 我做到了 class x{ public:a; private:b; protected:c; } class y:public x{ public:d; }

关于c+中类派生的问题+;? 我想知道C++中的类派生的一些事情。 所以我有一个超类x和一个继承的类y 我做到了 class x{ public:a; private:b; protected:c; } class y:public x{ public:d; },c++,class,inheritance,C++,Class,Inheritance,在这种情况下,y如何访问a、b和c以及我的意思(公共、受保护、私有) 第二种情况: class x{ public:a; private:b; protected:c; } class y:private x{ public:d; } 同样的问题 第三种情况: class x{ public:a; private:b; protected:c; } class y:protected x{ public:d; }

在这种情况下,y如何访问a、b和c以及我的意思(公共、受保护、私有)

第二种情况:

class x{
    public:a;
    private:b;
    protected:c;
}    
class y:private x{
    public:d;
}
同样的问题

第三种情况:

class x{
    public:a;
    private:b;
    protected:c;
}    
class y:protected x{
    public:d;
}
还是同样的问题

对不起,我觉得我写得太多了 再见

  • 在所有形式的继承中:

    • y
      可以查找其基类(
      x
      )并查看
      public
      protected
    • y
      的派生类可以查看其
      public
      protected
      成员
    • y
      的用户可以查看其
      public
      成员
    • 没有人能看到别人的
      private
      s,除非他们是
      friend
      s
  • 在公共继承方面:

    • y
      的用户可以查看
      x
      并查看
      public
  • 在受保护的继承中:
    • public
      protected
      部分
      x
      y
    • y
      的派生类可以看到它们
    • y
      的用户无法看到它们
  • 在私人继承方面:
    • public
      protected
      部分
      x
      y
      中变为
      private
    • y
      的派生类无法看到它们
    • y
      的用户无法看到它们
    • 私有继承本质上与组合(私有数据成员)相同
  • 拥有关于私有和受保护继承的良好信息

  • 在所有形式的继承中:

    • y
      可以查找其基类(
      x
      )并查看
      public
      protected
    • y
      的派生类可以查看其
      public
      protected
      成员
    • y
      的用户可以查看其
      public
      成员
    • 没有人能看到别人的
      private
      s,除非他们是
      friend
      s
  • 在公共继承方面:

    • y
      的用户可以查看
      x
      并查看
      public
  • 在受保护的继承中:
    • public
      protected
      部分
      x
      y
    • y
      的派生类可以看到它们
    • y
      的用户无法看到它们
  • 在私人继承方面:
    • public
      protected
      部分
      x
      y
      中变为
      private
    • y
      的派生类无法看到它们
    • y
      的用户无法看到它们
    • 私有继承本质上与组合(私有数据成员)相同
  • 有关于私有和受保护继承的良好信息。

    • 派生类只能访问基类的公共和受保护成员。它无法访问基类的私有成员
    • 私有/公共/受保护继承影响派生类(
      Y
      )的“用户”如何访问从基类(
      X
      )继承的成员;现在,用户可以是从这个派生类派生的类
    • 私有继承类似于在派生类中将基类的公共和受保护成员声明为私有
    • **protectedinteritance**
      类似于将基类的公共和受保护成员声明为在派生类中受保护
    • **公共继承**
      使基类的公共成员在派生类中公开;但是基类的受保护成员在派生类中仍然受到保护
        • 派生类只能访问基类的公共和受保护成员。它无法访问基类的私有成员
        • 私有/公共/受保护继承影响派生类(
          Y
          )的“用户”如何访问从基类(
          X
          )继承的成员;现在,用户可以是从这个派生类派生的类
        • 私有继承类似于在派生类中将基类的公共和受保护成员声明为私有
        • **protectedinteritance**
          类似于将基类的公共和受保护成员声明为在派生类中受保护
        • **公共继承**
          使基类的公共成员在派生类中公开;但是基类的受保护成员在派生类中仍然受到保护
            • 派生类不能访问基类的私有成员,除非派生类是基类的朋友
            • 继承权限:
              • Public-基类的所有非私有成员保留其权限(基:Public,派生:Public;基:受保护,派生:受保护)
              • 受保护-基类的所有公共成员在派生类中受保护;基类中受保护的成员仍受保护(基:公共,派生:受保护;基:受保护,派生:受保护)
              • 私有-基类的所有非私有成员在派生类中变为私有(基:公共,派生:私有;基:受保护,派生:私有)
            除非派生类声明为基类中的友元,否则派生类无法访问基类的私有成员,这一点我再强调也不过分。

            • 派生类不能访问基类的私有成员,除非派生类是基类的朋友
            • 继承权限: <