(1)父类的public成员成为子类的public成员,允许类以外的代码访问这些成员; (2)父类的private成员仍旧是父类的private成员,子类成员不可以访问这些成员; (3)父类的protected成员成为子类的protected成员,只允许子类成员访问; 2.如果子类从父类继承时使用的继承限定符是protected,那么 (1)父类的public成员成为子类的pro...
classB :publicA//基类A的派生类B(共有继承) { public: voidfunct() { intb; b=privatedateA;//error:基类中私有成员在派生类中是不可见的 b=protecteddateA;//ok:基类的保护成员在派生类中为保护成员 b=publicdateA;//ok:基类的公共成员在派生类中为公共成员 } }; /// classC :privateA//基类A...
C++三种继承方式实例详解 点击打开在线编译器,边学边练 在上一节中,我们看到了派生类的定义方法,用到了public的公有继承,实际这里一共有三种方式,分别是公有继承、私有继承、保护继承。 不同的继承方式,主要区别在于基类中不同访问权限的成员在派生类中的访问权限变化情况。下面一一介绍。
简单来说,派生类能访问基类的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: ...
C++中,派生类对基类的继承有三种方式:公有继承(Public)、包含继承(Protected)、私有继承(Private)。类B保护继承方式继承了类A,类C公有继承方式
1.1 第一种情况:public继承 派生类public继承基类,没有新增的函数。 class B:public A {};int main(int argc, char *argv[]) { B b; b.f(); return 0;} 运行结果: A::fA::gA::h 只覆盖public函数: class B:public A {public: void f() { cout<<'B::f'<<endl; g();h(); }}; ...
public继承:原来父类的public,protected,private成员在子类里保持不变。 protected继承:原来父类的public成员在子类里变成protected的了,其余不变,所以,当别的类使用这个子类, 或者另一个类继承这个子类时候,这个子类的父类的public就不能被访问了。 private继承:原来父类所以成员在子类里都变成private的了,所以,当别...
在定义派生类时,存取指明符也能出现在基类的前面,它控制基类的数据成员和成员函数在派生类中的访问方法——继承方法(派生方法)。当继承方法为public时,称为公有继承。同样得,当继承方法为protected时,称为保护继承,而当继承方法为private时,称为私有继承。公有派生时,基类的公有成员变为派生类的公有成员,...
1.使用public继承时,派生类内部可以访问基类中public和protected成员,但是类外只能通过派生类的对象访问基类的public成员。 (1)基类的public成员在派生类中依然是public的。 (2)基类中的protected成员在派生类中依然是protected的。 (3)基类中的private成员在派生类中不可访问。
1.使用public继承时,派生类内部可以访问基类中public和protected成员,但是类外只能通过派生类的对象访问基类的public成员。 (1)基类的public成员在派生类中依然是public的。 (2)基类中的protected成员在派生类中依然是protected的。 (3)基类中的private成员在派生类中不可访问。