答:①公有继承:基类的public、protected、private成员的访问在派生类中不变。派生类中的成员函数可以直接访问基类的public和protected成员,但不能直接访问基类的private成员,通过派生类的对象只能访问从基类继承的public成员。 ②私有继承:基类的所有成员都以private身份出现在派生类中,但基类的private成员不可直接访问,派生...
简单来说派生类可以访问基类的public, protected成员,继承过来之后变成自己私有的。 派生类的对象啥都不能访问。 class A { private: int m_data1; void print1() { cout << "private print1" << endl; } protected: int m_data2; void print2() { cout << "protected print2" << endl; } public...
classC :privateA//基类A的派生类C(私有继承) { public: voidfunct() { intc; c=privatedateA;//error:基类中私有成员在派生类中是不可见的 c=protecteddateA;//ok:基类的保护成员在派生类中为私有成员 c=publicdateA;//ok:基类的公共成员在派生类中为私有成员 } }; /// classD :protectedA//基类A...
public 的方式继承到派生类,这些成员的权限和在基类里的权限保持一致; protected方式继承到派生类,成员的权限都变为protected; private 方式继承到派生类,成员的权限都变为private; 对于三种方式派生类的对象来说: 只有public的方式继承后,派生来的对象只能访问基类的public成员,protected和private方式继承,派生类的对象都...
public、protected、private 这三个权限修饰字既可以用来修饰成员变量和成员函数,也可以用来修饰继承类型。下面将讨论继承类型。 成员变量和成员函数的访问权限: 派生类对基类成员的访问权限,与是public 、 protected 、 private继承类型没关系,仅仅与基类中成员的权限属性有关系: ...
可以清楚的看到public中的函数是如何充当接口的。在这个类中,可以通过public中的函数直接设置y、z的值,也可以通过public中的函数去访问protected和private中的函数,最终达到设置y、z值的目的。在public中的数据成员可以通过”对象名.数据成员”的方式直接使用,而其他类型的数据成员则不行。
class CSample3 : public CSample2 { void print3() { printProtected(); printPublic(); } }; 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 3. private从语义角度上来说,private继承是一种实现继承,根据面向对象中的关系而言就是,派生类不能代替基类完成基类接口所声明的行为,也就是不符...
公有继承,使得基类public(公有)和protected(保护)成员的访问属性在派生类中不变,而基类private(私有)成员不可访问。 私有继承,使得基类public(公有)和protected(保护)成员都以private(私有)成员身份出现在派生类中,而基类private(私有)成员不可访问。 保护继承中,基类public(公有)和protected(保护)成员都以protected...
答:继承方式决定了基类中的成员在派生类中的属性。三种继承方式的共同点:基类的 private 成员在派生类中不可见。区别:对于私有继承,基类的 public ,protected 成员在 派生类中作为 private 成员; 对于公有继承, 基类的 public ,protected 成员在派生类中访 问属性不变;对于保护继承,基类的 public , protected 成员...
protected: 意为保护的。它对类成员的访问限制在于,只关闭了类外的直接访问权限,而对于派生类依然可以直接访问。如图: 2.继承方式 C++中有3种基本的继承方式,public继承、private继承、protected继承。不同的继承方式主要体现在,基类中的访问权限在派生类中的变化。