classC :privateA//基类A的派生类C(私有继承) { public: voidfunct() { intc; c=privatedateA;//error:基类中私有成员在派生类中是不可见的 c=protecteddateA;//ok:基类的保护成员在派生类中为私有成员 c=publicdateA;//ok:基类的公共成员在派生类中为私有成员 } }; /// classD :protectedA//基类A...
如果需要让派生类对象能够直接访问基类的public和protected成员,并且希望派生类能够扩展基类的功能,那么应该选择public继承。如果需要隐藏基类的部分成员,只允许派生类内部访问,那么可以选择protected或private继承。通常情况下,protected继承比private继承更灵活,因为它允许派生类的派生类访问基类的成员。 示例代码 下面是一个简...
protected方式继承到派生类,成员的权限都变为protected; private 方式继承到派生类,成员的权限都变为private; 对于三种方式 派生类的对象 来说: 只有public的方式继承后,派生来的对象只能访问基类的public成员,protected和private方式继承,派生类的对象都不可以访问父类的成员。 例: 请考虑标记为A到J的语句在编译时可...
在这个类中,可以通过public中的函数直接设置y、z的值,也可以通过public中的函数去访问protected和private中的函数,最终达到设置y、z值的目的。在public中的数据成员可以通过”对象名.数据成员”的方式直接使用,而其他类型的数据成员则不行。 接下来开始分析不同的继承方式: 公有继承:...
现在我们知道,public、protected、private 三个关键字除了可以修饰类的成员,还可以指定继承方式。 public、protected、private 修饰类的成员 类成员的访问权限由高到低依次为 public --> protected --> private,我们在《C++类成员的访问权限以及类的封装》一节中讲解了 public 和 private:public 成员可以通过对象来访问...
公有继承,使得基类public(公有)和protected(保护)成员的访问属性在派生类中不变,而基类private(私有)成员不可访问。 私有继承,使得基类public(公有)和protected(保护)成员都以private(私有)成员身份出现在派生类中,而基类private(私有)成员不可访问。 保护继承中,基类public(公有)和protected(保护)成员都以protected...
公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。
private 私有成员 基类、友元可以访问 同样的C++继承方式有public,protected,private三种: 今天就来给大家简单介绍一下C++的三种继承方式。 1、public 方式继承 基类成员对派生类的可见性对派生类来说,基类的公有成员和保护成员可见,基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态;基类的私有成员不...
public: void printPublic() {} }; class CSample2 : private CSample1 {}; class CSample3 : public CSample2 { void print3() { printProtected(); // 编译错误,不可以调用该函数 printPublic(); // 编译错误,不可以调用该函数 } }; 1. 2. 3. 4. 5. 6. ...
比较类的三种继承方式public(公有继承)、protected(保护继承)、private(私有继承)之间的差别。答:继承方式决定了基类中的成员在派生类中的属性。三