C++的三种继承方式:public,protected,private

C++访问权限控制符 :

        public 公有成员 基类、派生类、友元、外部都可以访问

        protected 保护成员 基类、派生类、友元可以访问

        private 私有成员 基类、友元可以访问

同样的C++继承方式有public,protected,private三种:

C++的三种继承方式:public,protected,private_第1张图片

今天就来给大家简单介绍一下C++的三种继承方式。

C++的三种继承方式:public,protected,private_第2张图片

1、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:

    A(int x = 1, int y = 2, int z = 3) : m_data1(x), m_data2(y), m_data3(z) {}

    int m_data3;

    void print3() { cout << "protected print3" << endl; }

};

class B : public A

{

public:

    void test_public() {

        cout << m_data3 << endl;

你可能感兴趣的:(C++,c++,继承,编程语言)