zoukankan      html  css  js  c++  java
  • C++ 三大属性之继承

    作用

    c++很重要的一个特征就是代码重用,而代码重用就是通过继承实现。

    概念

    子类是父类的一个子集,如下图关系

    由图可知,院士是老师的子类,而基类的抽象程度最高,子类更加具体。

     

    访问控制

    取两者交集的较小者。

    子类和父类的关系

    • 子类就是特殊的父类
    • 子类对象可以直接初始化父类对象
    • 子类可以当做父类使用
    • 子类拥有父类的成员变量和成员函数

    构造和析构函数

    构造函数执行顺序:子类对象在创建时会首先调用父类的构造函数,而后调用自己的构造函数,当父类的构造函数有参数时,需要在子类的初始化列表中显示调用。(设计原因:因为子类会用到父类的成员函数和成员变量,故而需要先初始化父类)

    析构函数执行顺序:与构造函数相反,先调用子类后调用父类。(设计原因:先删除孩子节点而后一层层向上删除)

    #include <iostream>
    using namespace std;
    
    class Person{
    public:
        Person(){
            cout << "Person的构造函数" << endl;
        }
        ~Person()    {
            cout << "删除Person对象 " << endl;
        }
    private:
        int name;
    
    };
    class Student:public Person{
    public:
        Student(){
            cout << "Student的构造函数" << endl;
        }
        ~Student()    {
            cout << "删除Student对象 " << endl;
        }
    private:
        int name;
        string no;
    };
    
    int main() {
        Student student;
        return 0;
    }

    结果

    Person的构造函数
    Student的构造函数
    删除Student对象
    删除Person对象

    析构函数执行时间:参考https://www.cnblogs.com/AntonioSu/p/12269474.html

  • 相关阅读:
    关于git status
    JS的trim()方法
    js自定义方法名
    Autoit3 如何捕足控件
    AutoIt 脚本1
    Python2和Python3语法区别
    使用jmeter测试数据库性能
    selenium-Python之上传文件
    selenium-Python之鼠标事件
    selenium-Python之鼠标事件
  • 原文地址:https://www.cnblogs.com/AntonioSu/p/12269150.html
Copyright © 2011-2022 走看看