• (12)C++ 继承


      

    1继承语法

    class Base {
    public:
        void print() {
            cout << "Base" << endl;
        }
    };
    
    class Sun : public Base {
    
    };
    
    int main() {
        Sun s;
        s.print();
    }

    2继承访问权限

     子类继承父类时,会根据继承的三种方式改变子类继承成员的访问权限

    3.继承模型

    父类的所有成员变量和函数都会被子类继承,但会根据权限不同有的不能被调用

    查看方式:

    (1)打开开发者命令提示符

    从windows开始中打开

     (2)跳转到文件路径

    (3)cl /d1 reportSingleClassLayout类名 文件名

    cl /d1 reportSingleClassLayoutSun main.cpp

    注意: c后面时英文字母L,d后面是数字one

    class Base {
    public:
        int a;
        void print() {
            cout << "Base" << endl;
        }
    };
    
    class Sun : public Base {
        int b;
    }

     可以看到类内的成员被继承了下来

     4.继承中构造和析构顺序

    class Base {
    public:
        Base() {
            cout << "父类构造" << endl;
        }
        ~Base() {
            cout << "父类析构" << endl;
        }
    };
    
    class Sun : public Base {
    public:
        Sun() {
            cout << "子类构造" << endl;
        }
        ~Sun() {
            cout << "子类析构" << endl;
        }
    };
    
    int main() {
        {
            Sun s;
        }
    }

     生命周期符合栈的方式

    5.父类和子类的调用

    子类如果想要调用父类的成员变量或成员函数需要加作用域

    class Base {
    public:
        void print() {
            cout<<"父类"<<endl;
        }
    };
    
    class Sun : public Base {
    public:
        void print() {
            cout << "子类" << endl;
        }
    };
    
    int main() {
        {
            Sun s;
            s.print();
            s.Base::print();//方法子类对象父类需要加作用域
        }
    }

    静态的规则也相同

    5.多继承

    class Base1 {
    public:
        void print() {
            cout<<"父类1"<<endl;
        }
    };
    
    class Base2 {
    public:
        void print() {
            cout << "父类2" << endl;
        }
    };
    
    class Sun : public Base1, public Base2{
    public:
        void print() {
            cout << "子类" << endl;
        }
    };

     小心不同父类出现同名的情况

  • 相关阅读:
    质量属性--信息技术手册
    蓝桥杯赛前整理
    感悟:荔枝架构实践与演进历程
    以《淘宝网》为例,描绘质量属性的六个常见属性场景
    感悟:淘宝架构演进背后——零售业务中台架构设计探讨及实践
    为什么要考研???
    寒假学习笔记03
    寒假学习笔记02
    寒假学习笔记01
    数据清洗与数据处理
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/11606102.html
Copyright © 2020-2023  润新知