C++笔试题复习
Posted -YIN
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++笔试题复习相关的知识,希望对你有一定的参考价值。
C++笔试题复习
模板
函数模板:template<typename T1,typename T2,…typename Tn>
template 返回值类型 函数名(参数列表)
类模板:template<class T1,class T2,…class Tn>
class 类模板名 // 类内成员定义 ;
4)、6)、7)正确
3)T2要么是class要么是typename
类和对象
构造和析构
构造、析构的顺序
未进行匹配使用,应使用delete[];因为delete所以只会析构一次
成员初始化列表
bc
-
每个成员变量在初始化列表中只能出现一次(初始化只能一次),构造函数体中的只是赋值
-
只能对非静态成员变量初始化(类外初始化,不属于某个类是共有的)
-
类中以下成员必须在初始化列表初始化:
引用成员变量
const
成员变量自定义类型成员变量(没有默认(无参)构造参数)
-
尽量使用初始化列表初始化,因为不管你是否使用初始化列表,对于自定义类型成员变量,一定会先使用初始化列表初始化。(内置类型用随机值初始化,自定义类型调用默认构造函数)
-
成员变量在类中声明次序就是其在初始化列表中的初始化顺序,与其在初始化列表中的先后次序无关
成员变量在类中声明次序就是其在初始化列表中的初始化顺序,与其在初始化列表中的先后次序无关
拷贝构造函数
- 拷贝构造函数是构造函数的一个重载形式。
- 拷贝构造函数的参数只有一个且必须使用引用传参
- A 构造没有返回值
- B. 函数参数是自身类型对象的引用
- C 公有成员
this指针(运算符重载)
如果将运算符重载成类的成员函数,其形参个数要比实际参数个数少1
因为成员函数具有隐藏的this
指针作为第一个参数
- A 不需要重载加号
- B 如果类中有单个参数的构造函数,则该构造具有类型转换>的作用;编译器在编译过程中会调用单参构造函数将 3 转为 BigNumer 的对象(用
explicit
修饰构造函数,将会禁止单参构造函数的隐式转换。) - C 调用运算符重载加法
- D 3 不是 BigNnumber对象,也不会调用类型转换
static
在 C/C++中 static 关键字详解_-YIN的博客-CSDN博客_c++的static关键字
A const修饰的成员变量可以
友元函数
- 友元函数不是类的成员函数,但是可以访问类的私有和保护成员
- 友元函数不能被
const
修饰 - 友元可以在类定义的任何地方声明,不受类访问限定符的限制
如果将运算符重载成类的成员函数,其形参个数要比实际参数个数少1,因为成员函数具有隐藏的this
指针作为第一个参数
而如果重载成类的友元函数,其必须要有一个参数是类类型的对象
空类
const
常量具有宏替换特性,编译时编译器会替换(a替换为10),通过地址解引用改变后*p 20
以上是关于C++笔试题复习的主要内容,如果未能解决你的问题,请参考以下文章