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

  • 相关阅读:
    PHP 中 parent、self、static、$this 的区别 & 后期静态绑定详解
    PHP中for和foreach背后发生了什么和关于迭代器的理解
    PHP中this,self,parent三个关键字
    PHP文件指针操作
    php中Session使用方法详解
    关于PHP日期时间的主要函数
    php获取checkbox复选框的多个选项的内容
    PHP中的11个魔术方法总结:__construct,、__destruct、__call等
    PHP类的自动加载机制实现方法分析
    C#学习笔记(二)
  • 原文地址:https://www.cnblogs.com/zsy12138/p/10845802.html
Copyright © 2011-2022 走看看