• C++笔试题复习


    模板

    函数模板:template

    template 返回值类型 函数名(参数列表){}

    类模板:template

    class 类模板名 { // 类内成员定义 };

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vAQ4ND3j-1662131640149)(F:\1 学习文档\文档\1 Typora图片\image-20220813093513772.png)]

    4)、6)、7)正确

    3)T2要么是class要么是typename

    类和对象

    构造和析构

    构造、析构的顺序

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nAMNXlxR-1662131640151)(F:\1 学习文档\文档\1 Typora图片\image-20220811104209762.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8FSgnN7T-1662131640151)(F:\1 学习文档\文档\1 Typora图片\image-20220813084633359.png)]

    未进行匹配使用,应使用delete[];因为delete所以只会析构一次

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OeyLyY7P-1662131640152)(F:\1 学习文档\文档\1 Typora图片\image-20220813090902413.png)]

    成员初始化列表

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5x4AzMSH-1662131640152)(F:\1 学习文档\文档\1 Typora图片\image-20220810095428888.png)]
    bc

    1. 每个成员变量在初始化列表中只能出现一次(初始化只能一次),构造函数体中的只是赋值

    2. 只能对非静态成员变量初始化(类外初始化,不属于某个类是共有的)

    3. 类中以下成员必须在初始化列表初始化

      引用成员变量

      const成员变量

      自定义型成员变量(没有默认(无参)构造参数)

    4. 尽量使用初始化列表初始化,因为不管你是否使用初始化列表,对于自定义类型成员变量,一定会先使用初始化列表初始化。(内置类型用随机值初始化,自定义类型调用默认构造函数

    5. 成员变量在类中声明次序就是其在初始化列表中的初始化顺序,与其在初始化列表中的先后次序无关

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SRFhhiRB-1662131640153)(F:\1 学习文档\文档\1 Typora图片\image-20220813111332794.png)]

    成员变量在类中声明次序就是其在初始化列表中的初始化顺序,与其在初始化列表中的先后次序无关

    拷贝构造函数

    1. 拷贝构造函数是构造函数的一个重载形式。
    2. 拷贝构造函数的参数只有一个且必须使用引用传参

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rW3q4jN5-1662131640154)(F:\1 学习文档\文档\1 Typora图片\image-20220811095649259.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AasaLgjS-1662131640154)(F:\1 学习文档\文档\1 Typora图片\image-20220811100800009.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t0lnpyNp-1662131640155)(F:\1 学习文档\文档\1 Typora图片\image-20220813105455927.png)]

    1. A 构造没有返回值
    2. B. 函数参数是自身类型对象的引用
    3. C 公有成员

    this指针(运算符重载)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y5Nbcx4C-1662131640155)(F:\1 学习文档\文档\1 Typora图片\image-20220810105540067.png)]

    如果将运算符重载成类的成员函数,其形参个数要比实际参数个数少1

    因为成员函数具有隐藏的this指针作为第一个参数

    1. A 不需要重载加号
    2. B 如果类中有单个参数的构造函数,则该构造具有类型转换>的作用;编译器在编译过程中会调用单参构造函数将 3 转为 BigNumer 的对象(用explicit修饰构造函数,将会禁止单参构造函数的隐式转换。)
    3. C 调用运算符重载加法
    4. D 3 不是 BigNnumber对象,也不会调用类型转换

    static

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8sr7RBqj-1662131640156)(F:\1 学习文档\文档\1 Typora图片\image-20220813091611118.png)]

    在 C/C++中 static 关键字详解_-YIN的博客-CSDN博客_c++的static关键字

    A const修饰的成员变量可以

    D[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9XVFlU1D-1662131640156)(F:\1 学习文档\文档\1 Typora图片\image-20220813091904453.png)]

    友元函数

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uWx99QH7-1662131640157)(F:\1 学习文档\文档\1 Typora图片\image-20220810160613792.png)]

    1. 友元函数不是类的成员函数,但是可以访问类的私有保护成员
    2. 友元函数不能被const修饰
    3. 友元可以在类定义的任何地方声明,不受类访问限定符的限制

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HZ0x5f2s-1662131640157)(F:\1 学习文档\文档\1 Typora图片\image-20220811102734305.png)]

    如果将运算符重载成类的成员函数,其形参个数要比实际参数个数少1,因为成员函数具有隐藏的this指针作为第一个参数

    而如果重载成类的友元函数,其必须要有一个参数是类类型的对象

    空类

    在这里插入图片描述

    在这里插入图片描述

    const

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rnE8XaWl-1662131640159)(F:\1 学习文档\文档\1 Typora图片\image-20220813112439079.png)]

    常量具有宏替换特性,编译时编译器会替换(a替换为10),通过地址解引用改变后*p 20

  • 相关阅读:
    杭电oj1009(贪心算法)
    【必会】BM41 输出二叉树的右视图【中等+】
    面试突击48:死锁的排查工具有哪些?
    智能排班系统 【管理系统功能、操作说明——中篇】
    7米层高建筑模板施工方案
    解决 Jenkins 性能缓慢的问题~转
    openGauss每日一练第1天 | openGauss数据库状态查看
    web3.0的初步学习研究
    皮卡丘RCE靶场通关攻略
    mysql图形化客户端和B树 B+树
  • 原文地址:https://blog.csdn.net/weixin_45910068/article/details/126671894