某公司笔试(9)

C++基础 #

一、选择题 #

  1. 在C++中,数组类型属于()
  • A.本数据类型
  • B.自定义数琳类型
  • C.类类型
  • D.结构体类型
  1. 若有语句:float array[3][5][7];则数组array 的元素个数为()
  • A.3
  • B.5
  • C.7
  • D.105
  1. 关于析构函数,下面说法不正确的是()
  • A.析构函数用来完成对象被删除前的一些清理工作
  • B.析构函数可以声明为重载函数
  • C.析构函数可以声明为虚函数
  • D.析构函数在对象的生存期即将结束时被系统自动调用
  1. 关于抽象类,下列说法不正确的是()
  • A.抽象类不能实例化
  • B.带有虚函数的类称为抽象类
  • C.带有纯虚函数的类称为抽象类
  • D.抽象类的作用是为一个类族建立一个公共接口
  1. 下列对一维数组a的正确定义是()
  • A.int n=5,a[n];
  • B.int a(5);
  • C.const int n-5;int a[n];
  • D.int n;cin»n;int a[n];
  1. 下列数组定义语句中,不合法的是()
  • A.int a[3]={0,1,2,3};
  • B.int a[]={0,1,2};
  • C.int a[3]={0,1,2};
  • D.int a[3]={0};
  1. 己知int a[10]={0,1,2,3,4,5,6,7,8,9}和*p=a,则不能表示数组a中元素的式子是()。
  • A.*a
  • B.*p
  • C.a
  • D.a[p-a]
  1. 已知char *a[]={“fortraan”, “basic”, “pascal”, “java”, “c++"},则cout«a[3],的显示结果是()
  • A.basie
  • B.paseal
  • C.java
  • D.javact+
  1. 若用数组名作为调用函数的实参,则传递给形参的是()
  • A.数组存储首地址
  • B.数组第一个元素的值
  • C.数组元素的个数
  • D.数组中全部元素的值
  1. 判字符串sl和s2是否相等的正确表达式是()
  • A.s1=s2:
  • B.s1==s2;
  • C.strcmp(sl,s2)==0;
  • D.strcpy(sl,s2);
  1. 下面选项中,不是类的成员函数的为()
  • A.构造函数
  • B.析构函数
  • C.友元函数
  • D.拷贝构造雨数
  1. 不论派生类以何种方式继承基类,都不能使用基类的()
  • A.public成员
  • B.private成员
  • C.protected成员
  • D.public和protected成员
  1. 在一个派生类中重新定义基类的虚函数时,应使()
  • A.函数名相同,但参数不同;
  • B.函数名相同,但函数返回值类型不同;
  • C.函数名、函数返回值类型、参数个数、参数类型和顺序各不相同
  • D.函数名、函数返回值类型、参数个数、参数类型和顺序完全相同
  1. 如果把基类的析构函数声明为虚函数,则()
  • A.各派生类的析构函数均自动为虚函数;
  • B.派生类的析构函数与基类析构函数不同名,故不是虚函数;
  • C:每个派生类的析构函数都必须声明为虚函数;
  • D.只有基类的析构函数是虚函数。
  1. 派生类的对象可以访间()。
  • A.公有继承的基类的公有成员
  • B.公有继承的基类的保护成员
  • C.公有继承的基类的私有成员
  • D.保护继承的基类的公有成员
  1. 在创建派生类对象时,构造函数的执行顺序是()
  • A.对象成员构造函数、基类构造函数、派生类本身的构造函数
  • B.派生类本身的构造函数、基类构造函数、对象成员构造函数
  • C.基类构造雨数、派生类本身的构造函数、对象成员构造函数
  • D.基类构造函数、对象成员构造函数、派生类本身的构造函数

17.下面函数原型声明中,声明fun为纯虚函数的是()

  • A.void fun0=0:
  • B.virtual void fun()=0;
  • C.virtual void fun();
  • D.virtual void fun(){};
  1. 一个类可以有多个构造函数,这些构造函数之间的关系是()
  • A.重载
  • B.重复
  • C.拷贝
  • D.覆盖
  1. 下列对于int *pa[5]的描述,正确的是()
  • A.pa是一个指向数组的指针,所指向的数组是5个int 型元素
  • B.pa是一个指向某数组中的第5个元素的指针,该元素是 int 型变量
  • C.pa[5]表示某个数组的第5个元素的值
  • D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针
  1. 若有如下声明:class A{ int a;};则a是类A的()
  • A.公有数据成员
  • B.公有成员函数
  • C.私有数据成员
  • D.私有成员函数

二、操作题(写出伪代码即可) #

  1. 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下的顺序排列。请完成一个函数,输入这样一个二维数组和一个整数。判断整数是否在这个数组内

举例

1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15

输入7,返回true,输入5返回false

  1. 给出一个字符类型的数组 word,请在单词间做边序。只需做到单词顺序逆序即可,对空格的位置没特别要求。

举例:如果word为"i like unreal engine”,调整后的结果为engineunreal like i

  1. 给定一个整形数组arr,返问排序后的相邻两数的最人差值,如果arr的长度为N,请让你的算法做到时间复杂度为0(N)例:arr=[9,3,1,10].如果排序,结果为[1,3,9,4],9和3的差为最大差值,因此返回6 arr=[1,1,1,1]返回0

  2. 在二维坐标系中,所有的值都是 double类型那么一个三角形可以由3个点来代表,给定任意三个点代表的三角形,在给定一个点(x,y),判断(x,y)是否在三角形中

虚幻引擎基础 #

简答题 #

  1. 请简述GameMode, GameState, PlayerState. PlayerController, Pawn 的功能,和相互的关系:
  2. Gamelnstance 的功能有哪些,一共可以存在多少个?
  3. Selector、Sequence的节点功能?
  4. 在C++和蓝图中如何打印调试信息,c++请写出代码,蓝图请写出节点名称。
  5. UObject和AActor有什么区别?
  6. BlueprintlmplementableEvent 和BlueprintNativeEvent 的区别
  7. 如何在c++中实现Run On Server的函数声明并且在蓝图可调用?