现在的位置: 首页 > 综合 > 正文

某游戏公司笔试题(2)

2013年09月08日 ⁄ 综合 ⁄ 共 1353字 ⁄ 字号 评论关闭

以下是某游戏公司的C++开发的部分笔试题,不分顺序。


1、什么是面向对象?面向对象的特征是什么?请简要叙述这些特征。

2、用变量a给出下面的定义

a) 一个整型数(An integer) 
b)一个指向整型数的指针( A pointer to an integer) 
c)一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to an intege)r 
d)一个有10个整型数的数组( An array of 10 integers) 
e) 一个有10个指针的数组,该指针是指向一个整型数的。(An array of 10 pointers to integers) 
f) 一个指向有10个整型数数组的指针( A pointer to an array of 10 integers) 
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer) 
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )

3、下列const的意义

const int a;

int const a;

const int *a;

int const *a;

int * const a;

const int * const a;

4、你了解设计模式吗?总结一下设计模式的特征。

5、用面向对象的观点解释玩家、物品、怪物、NPC、地图触发器、金钱的关系及管理方式。(大致是这么回事)

6、“引用”是什么?“引用”有什么要注意的特征?“引用”和指针的区别是什么?

7、

#include <iostream>

using namespace std;

class B {
public:
    B() {
        std::cout << "default constructor" << std::endl;
    }

    ~B() {
        std::cout << "destructed" << std::endl;
    }

    B (int a) : data(a) {
        std::cout << "construct by parameter " << data << std::endl;
    }

private:
    int data;
};

B Play(B b) {
    return b;
}

求下面main函数的输出

int main()
{
    B a = Play(10);
    B b = Play(a);
    return 0;
}

int main()
{
    B a = Play(5);
    B b = Play(10);
    return 0;
}

8、已知strcpy函数的原型是char *strcpy(char *strDest, const char *strSrc);其中strDest是目的字符串,strSrc是源字符串。

不调用C++/C的字符串库函数,请编写函数 strcpy。

9、编写一个宏MIN,返回两个数的较小值。

10、比较C++的四种类型转换符: static_cast, dynamic_cast, reinterpret_cast, const_cast。

11、在C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern “C”声明?

第4、5两道是最后的压轴题,这里放在较前的地方。

【上篇】
【下篇】

抱歉!评论已关闭.