C C++中,派生类对基类有三种继承方式:公有继承(Public)、私有继承(PrJvate)和保护继承(Protected)。 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的。 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的...
classC :privateA//基类A的派生类C(私有继承) { public: voidfunct() { intc; c=privatedateA;//error:基类中私有成员在派生类中是不可见的 c=protecteddateA;//ok:基类的保护成员在派生类中为私有成员 c=publicdateA;//ok:基类的公共成员在派生类中为私有成员 } }; /// classD :protectedA//基类A...
(1)父类的public成员成为子类的protected成员,只允许子类成员访问; (2)父类的private成员仍旧是父类的private成员,子类成员不可以访问这些成员; (3)父类的public成员成为子类的protected成员,只允许子类成员访问 3.如果子类从父类继承时使用的继承限定符是private,那么 (1)父类的public成员成为子类的private成员,只允...
简单来说,派生类能访问基类的public, protected成员,继承过来权限不变,派生类对象只能访问基类public成员。 测试代码如下: class A{private:int m_data1;void print1() { cout << 'private print1' << endl; }protected:int m_data2;void print2() { cout << 'protected print2' << endl; }public: ...
1.使用public继承时,派生类内部可以访问基类中public和protected成员,但是类外只能通过派生类的对象访问基类的public成员。 (1)基类的public成员在派生类中依然是public的。 (2)基类中的protected成员在派生类中依然是protected的。 (3)基类中的private成员在派生类中不可访问。
public继承:原来父类的public,protected,private成员在子类里保持不变。 protected继承:原来父类的public成员在子类里变成protected的了,其余不变,所以,当别的类使用这个子类, 或者另一个类继承这个子类时候,这个子类的父类的public就不能被访问了。 private继承:原来父类所以成员在子类里都变成private的了,所以,当别...
使用public继承,父类中的protected和public属性不发生改变; 如下所示: public: protected: private: public继承 public protected 不可用 protected继承 protected protected 不可用 private继承 private private 不可用 protected继承和private继承能降低访问权限。
protected成员访问限定符只因为继承体系才出现的,因为protected在继承中才有意义 实际中一般使用public继承 使用关键字class默认的继承方式是private,使用struct默认的继承方式是public,一般最好显式给出继承权限。 ps: class和struct的区别 定义类的默认访问权限不同,class为私有,struct为公有,兼容C语言 ...
C ++中提供了3种类型的访问修饰符: Public Private Protected 注意:如果我们没有为类内的成员指定任何访问修饰符,则默认情况下,成员的访问修饰符将为Private。 现在让我们详细了解这些访问修饰符: 1. Public:在公共说明符下声明的所有类成员将对所有人开放。声明为public的数据成员和成员函数也可以由其他类和函数访...
public (公有继承) protected (保护继承) private (私有继承) 这三个关键字与之前的三种访问控制修饰符刚好相同,但在这里,它们有不同的意义。 对于public继承,基类中的成员的访问控制修饰符不作任何改动,原样继承到派生类中。 也就是说,基类中的public成员,到了派生类中,仍然是派生类的public成员;基类中的protec...