• 继承方式


    C++中三种不同的继承方式:

      1. public继承。父类子成员在子类中保持原有的访问级别。

      2. private继承。父类的所有成员在子类变成私有成员。

      3. protected继承。父类中的公有成员变成保护成员,其他成员不变。

    
    
    #include<string>
    #include<iostream>
    
    using namespace std;
    
    class parent
    {
    private:
            int private_date;
    protected:
            int protected_data;
    public:
            int public_data;
    };
    
    class child_1 : public parent
    {
    public:
            void print()
            {
                cout << "private_date = " << private_data << endl;        // 无法访问
                cout << "protected_data = " << protected_data << endl;
                cout << "public_data = " << public_data << endl;
            }
    };
    
    class child_2 : protected parent
    {
    public:
            void print()
            {
                cout << "private_date = " << private_data << endl;        // 无法访问
                cout << "protected_data = " << protected_data << endl;
                cout << "public_data = " << public_data << endl;
            }
    };
    
    class child_3 : private parent
    {
    public:
            void print()
            {
                cout << "private_date = " << private_data << endl;          // 无法访问
                cout << "protected_data = " << protected_data << endl;
                cout << "public_data = " << public_data << endl;
            }
    };
    
    int main(void)
    {
        child_1 c_1;
        child_2 c_2;
        child_3 c_3;
        c_1.print();
                cout << "private_date = " << private_data << endl;        // 无法访问
                cout << "protected_data = " << protected_data << endl;     // 无法访问
                cout << "public_data = " << public_data << endl;
        c_2.print();
                cout << "private_date = " << private_data << endl;        // 无法访问
                cout << "protected_data = " << protected_data << endl;     // 无法访问
                cout << "public_data = " << public_data << endl;
        c_3.print();
                cout << "private_date = " << private_data << endl;        // 无法访问
                cout << "protected_data = " << protected_data << endl;     // 无法访问
                cout << "public_data = " << public_data << endl;         
        return 0;
    }
    
    
    
    
    

     一般只使用public继承。

    C++派生语言只支持public继承。

    protected,private复杂度大于实用度。

  • 相关阅读:
    2018-8-10-win10-uwp-读取保存WriteableBitmap-、BitmapImage
    2018-8-10-win10-uwp-读取保存WriteableBitmap-、BitmapImage
    字节流与字符流的区别详解
    Java线程之 InterruptedException 异常
    java 线程的几种状态
    C++中 引用&与取地址&的区别
    百度富文本编辑器ueditor在jsp中的使用(ssm框架中的应用)
    CodeForces
    CodeForces
    训练记录
  • 原文地址:https://www.cnblogs.com/zsy12138/p/10845802.html
Copyright © 2020-2023  润新知