C++笔试题复习

9 篇文章 2 订阅

模板

函数模板:template<typename T1,typename T2,…typename Tn>

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

类模板:template<class T1,class T2,…class Tn>

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值