美文网首页人生几何?
笔试题目(牛客)

笔试题目(牛客)

作者: 飞猪的浪漫 | 来源:发表于2021-09-01 19:24 被阅读0次

在C、C++中,用户标识符:

由字母、数字、下划线“_”组成

首字符不能是数字

不能是关键字

有长度限制,具体由编译器决定

严格区分大小写

1. 构造函数不能为 virtual, 构造函数不能继承; 2. 如果子类不显式调用父类的构造函数,编译器会自动调用父类的【无参构造函数】; 在C++中,派生类把基类中所有的成员继承过来,除了构造函数和析构函数。 友元函数不属于类,它只是给类开了一个后门 本来类外不可以访问类的私有成员,通过友元函数就可以 所以不能继承。子类继承父类,那么默认的,就是继承了父类的成员函数和成员变量。 初始化子类时,会先自动调用父类的构造函数。然后才调用子类的构造函数 析构时,按相反顺序进行。 构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成员对象的构造函数。析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编译器将无法自动执行析构过程。不能继承,由他们的功能决定。

char(1),int(4),float(4),double(8),long(8)

析构函数没有参数,没有返回值,固定格式: “~类名()”

首先经过a++,a变成了3;

p1是指向a的地址的,因此 *p1就是a的值,即为3;

p2是指向p1的地址的,因此*p2就是p1的值,即a的地址,那么**p2就是a的值,也就是3

auto 变量类型推演,

register 建议编译器将该变量放入cpu,

static 静态变量,

extern 声明变量,常用于多文件需要使用同一变量时

通常情况下,变量的值是存取于内存之中,若使用CPU的寄存器,将局部变量值直接放于寄存器中,其存取速度远远高于对内存的存取速度,因此,使用cpu的寄存器可提高执行速率

%x是按十六进制输出,++*x = 26 = 0x1a

宏函数SUM只在预编译阶段做预处理工作,即只是简单地进行字符替换而已。

a += a*SUM(a,b)*b

a+= a*a+b*b

如果要得到C选项,宏函数就得这样写:

#define SUM(x, y) ((x)+(y))

若TestClass为一个类,执行“TestClass a[4],*p[5];”语句时会自动调用该类析构函数的次数是

语句“MyClass a[4]”定义了4个MyClass对象,分别为a[0],a[1],a[2],a[3],调用4次构造函数;语句“MyClass *p[5]”定义了5个指向MyClass对象的指针变量,分别为*p[0],*p[1],*p[2],*p[3],*p[4],但定义指针并没有实例化对象,所以不调用构造函数。因此,执行该语句共调用MyClass的构造函数4次.

Line (Point xp1, Point xp2):p1(xp1),p2(xp2)中使用的是传值myp1和myp2传值给xp1,xp2时使用了两次复制构造函数.

p1(xp1),p2(xp2)又使用了两次,因此一共是四次。

这题是考关于拷贝构造函数的调用,有3种情况:

1、当用一个对象对初始化另一个对象时,系统会自动调用,如:Base b1 = b2;

2、当类对象作为实参,值传递时,系统会自动调用,如func(p1);这里会调用拷贝构造函数,按照参数的值构造一个临时对象,这个临时对象仅仅在该函数执行时存在,在函数执行结束之后,调用析构函数引用传递和指针传递是不会调用任何构造函数的。

传值操作会调用拷贝构造函数 所以是四次,如果是传引用的话就是两次。 Line (Point &xp1, Point &xp2):p1(xp1),p2(xp2)

BSS段:通常是指用来存放程序中未初始化的全局变量的一块内存区域;

数据段:通常是指用来存放程序中 已初始化  全局变量 的一块内存区域,static意味着在数据段中存放变量

代码段:通常是指用来存放 程序执行代码 的一块内存区域

:存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减,这一块在程序运行前就已经确定了;

:栈又称堆栈, 存放程序的 局部变量 (不包括static声明的变量)。除此以外,在函数被调用时,栈用来传递参数和返回值。

友元函数 :

      友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend,其格式如下

      friend 类型 函数名(形式参数);

      友元函数的声明可以放在类的私有部分,也可以放在公有部分,它们是没有区别的,都说明是该类的一个友元函数。

      一个函数可以是多个类的友元函数,只需要在各个类中分别声明。

      友元函数的调用与一般函数的调用方式和原理一致。

使用友元函数注意的要点:

类中通过使用关键字friend 来修饰友元函数,但该函数并不是类的成员函数,其声明可以放在类的私有部分,也可放在共有部分。友元函数的定义在类体外实现,不需要加类限定。

一个类中的成员函数可以是另外一个类的友元函数,而且一个函数可以是多个类友元函数。

友元函数可以访问类中的私有成员和其他数据,但是访问不可直接使用数据成员,需要通过对对象进行引用。

友元函数在调用上同一般函数一样,不必通过对对象进行引

相关文章

  • 笔试题目(牛客)

    在C、C++中,用户标识符: 由字母、数字、下划线“_”组成 首字符不能是数字 不能是关键字 有长度限制,具体由编...

  • 内推_网易有道_软件研发

    笔试 模拟洗牌和模拟队列操作,题目在牛客中有: http://www.nowcoder.com/profile/8...

  • 剑指Offer笔试题(3)

    剑指Offer笔试题(2) 题目来源:牛客网 题目一 复杂链表的复制 描述: 输入一个复杂链表(每个节点中有节点...

  • 剑指Offer笔试题(4)

    剑指Offer笔试题(3) 题目来源:牛客网 题目一 和为S的连续正数序列 描述: 小明很喜欢数学,有一天他在做...

  • 剑指Offer笔试题(5)

    剑指Offer笔试题(4) 题目来源:牛客网 题目一 扑克牌顺子 描述: LL今天心情特别好,因为他去买了一副扑...

  • 剑指Offer笔试题(2)

    剑指Offer笔试题(1) 题目来源:牛客网 题目一 调整数组序列使奇数位于偶数序列前 描述: 输入一个整数数组...

  • 你应该会的一道多线程笔试题

    前言 最近也面了好多家企业,也总结到很多笔试经验和面试经验。笔试大多数Java题目都是牛客网原题和简单排序,数据库...

  • OJ的IO问题(一)

    一直以来刷 OJ 用的都是 leetcode,无奈几乎所有公司的在线笔试都用的牛客的系统,牛客和 leetcode...

  • 秋招准备-网易秋招笔试-3

    网易2017秋招笔试题-3 牛客网 题目描述 字符迷阵是一种经典的智力游戏。玩家需要在给定的矩形的字符迷阵中寻找特...

  • 秋招准备-网易秋招笔试-1

    网易秋招笔试-1 (牛客网)[https://www.nowcoder.com/test/question/don...

网友评论

    本文标题:笔试题目(牛客)

    本文链接:https://www.haomeiwen.com/subject/mxotwltx.html