关于c+中类派生的问题+;? 我想知道C++中的类派生的一些事情。 所以我有一个超类x和一个继承的类y 我做到了 class x{ public:a; private:b; protected:c; } class y:public x{ public:d; }
在这种情况下,y如何访问a、b和c以及我的意思(公共、受保护、私有) 第二种情况:关于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; }
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
- 没有人能看到别人的
s,除非他们是private
sfriend
的用户可以查看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
- 没有人能看到别人的
s,除非他们是private
sfriend
的用户可以查看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;基:受保护,派生:受保护)
- 受保护-基类的所有公共成员在派生类中受保护;基类中受保护的成员仍受保护(基:公共,派生:受保护;基:受保护,派生:受保护)
- 私有-基类的所有非私有成员在派生类中变为私有(基:公共,派生:私有;基:受保护,派生:私有)
- 派生类不能访问基类的私有成员,除非派生类是基类的朋友
- 继承权限: <