zoukankan      html  css  js  c++  java
  • C++学习笔记5——类的继承

    简介:

      通过继承联系在以前的类构成一种层次关系。通常在层次关系的根部有一个基类,其他类则直接或间接地从基类继承,这些继承得到的类称为类的派生类

    作用:

      1、子类拥有父类的所有成员函数和成员变量。

      2、子类可以拥有父类没有的成员函数和成员变量。

      3、子类是一种特殊的父类。

      4、子类对象可以当父类对象使用。

        4.1、父类指针指向子类对象。

        4.2、子类对象初始化父类对象。

    继承中的构造/析构函数的初始化顺序:

      父类构造函数->组合类构造函数->子类构造函数->子类析构函数->组合类构造函数->父类析构函数

    派生类的访问控制:

      1、public继承:父类成员在子类中保持原有访问级别

      2、private继承:父类成员在子类中变为private成员

      3、protected继承:父类中public成员会变成protected

                  父类中protected成员仍然为protected

                  父类中private成员仍然为private

    Demo:

    #include <iostream>
    using namespace std;
    
    class Base
    {
    public:
        void print(void)
        {
            cout << "Base" << endl;
        }
    };
    
    class Derived : public Base
    {
    public:
        void print(void)
        {
            cout << "Derived" << endl;
        }
    };
    
    class Base2 final //防止继承的发生
    {
    public:
    
    };
    
    int main(int argc, char **argv)
    {
        Derived der;
        Base *pbase = &der;  //父类指针指向子类对象
        pbase->print();
    
        Base base = der;    //子类对象初始化父类对象
        base.print();
    
        der.print();        //当成员函数名一致时,默认使用子类
        der.Base::print();  //使用父类print()
        system("pause");
    }
  • 相关阅读:
    Linux(Centos7)下redis5安装、部署、开机自启
    请求*.html后缀无法返回json数据的问题
    Linux搭建图片服务器减轻传统服务器的压力(nginx+vsftpd)
    Centos7和Centos6防火墙开放端口配置方法(避坑教学)
    分享一个酷炫动态登录页面html
    分布式全文搜索解决方案
    PHP实现支付宝登录
    PHP发送短信
    PHP中发送qq邮件
    ES6新语法(二)
  • 原文地址:https://www.cnblogs.com/codelu/p/4854883.html
Copyright © 2011-2022 走看看