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

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

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

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

    引用成员变量

    const成员变量

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

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

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

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

拷贝构造函数

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

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

this指针(运算符重载)

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

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

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

static

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

A const修饰的成员变量可以

友元函数

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

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

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

空类

const

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

以上是关于C++笔试题复习的主要内容,如果未能解决你的问题,请参考以下文章

C++笔试题复习

c++复习笔记——多态详细解析,多态的原理,多态的笔试题

C++笔试试题讲解(~~~可能是全站唯独一份有解析的~~~)

C++笔试题之用数组实现队列

c++一道关于继承和析构的笔试题

C++ 笔试题 ——每天学一点,天天都进步