记录2017/9/6笔试题

1.C++面向对象五大基本原则:
单一职责原则(SRP)
开放封闭原则(OCP)
里氏替换原则(LSP)
依赖倒置原则(DIP)
接口隔离原则(ISP)

2.
Code:为程序代码部分
RO-data: 表示 程序定义的常量const temp;
RW-data :表示 已初始化的全局变量
ZI-data :表示 未初始化的全局变量

3.重写、覆盖、重载、多态

override->重写(=覆盖)、overload->重载、polymorphism -> 多态
override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。
overload是重载,一般是用于在一个类内实现若干重载的方法,这些方法的名称相同而参数形式不同
多态的概念比较复杂,有多种意义的多态,一个有趣但不严谨的说法是:继承是子类使用父类的方法,而多态则是父类使用子类的方法。
一般,我们使用多态是为了避免在父类里大量重载引起代码臃肿且难于维护

4.实现环形队列和基本操作

bool Enqueue(PQUEUE Q, int val)
{
    if(FullQueue(Q))
        return false;
    else
    {
        Q->pBase[Q->rear]=val;
        Q->rear=(Q->rear+1)%Q->maxsize;
        return true;
    }
}
参考:

> http://blog.csdn.net/sking002007/article/details/6584590


  • 作者巧妙的利用了移动数组的下标模上数组的最大值实现循环的结构,减少了使用指针的复杂度,存在的不足的是:对数组的大小不好确定,多了浪费内存,少了不够,有更好解决方案的大佬请留言

5.用C语言实现大小端判断

int checkEnd()
{
int i=0x12345678;
char *c=(char *)&i; 
return(*c==0x12)
}

http://www.cnblogs.com/seacryfly/archive/2011/12/29/seacryfly.html
http://anlx27.iteye.com/blog/1575848
http://blog.csdn.net/ericbaner/article/details/3857268
http://blog.csdn.net/lpp0900320123/article/details/20694409
http://www.cnblogs.com/berry/articles/1588084.html

猜你喜欢

转载自blog.csdn.net/qq_31208451/article/details/77869829