zoukankan      html  css  js  c++  java
  • 继承方式

    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复杂度大于实用度。

  • 相关阅读:
    Jquery日历插件e-calendar升级版
    jquery双击事件(dblclick)时,不触发单击事件(click)
    js实现的点击div区域外隐藏div区域
    IE浏览器new Date()带参返回NaN解决方法
    RequireJs中使用layer的问题
    AngularJs规范
    js调用Angular的方法
    游标cursor
    bigint数据类型
    ANSI_NULLS和QUOTED_IDENTIFIER
  • 原文地址:https://www.cnblogs.com/zsy12138/p/10845802.html
Copyright © 2011-2022 走看看