问答题X 纠错

参考答案:

Base::Base(char*)构造函数中,new分配的空间比所需的少一个字节,strcpy会导致溢出。
Base::copyName()函数中,返回的char*指向局部变量newname,局部变量会在函数返回时释放,导致返回值无效。
Base::print(Base)采用传值的方式调用,会引发一个Base的复制构造函数,而Base没有定义复制构造函数,则编译器给出一个缺省的,这个缺省的复制构造函数会导致两个Base对象的成员变量name指向同一块内存;这样其中一个对象析构时,这块共用的内存将被释放,导致另一个对象的name指向一个无效的地址。

查答案就用赞题库小程序 还有拍照搜题 语音搜题 快来试试吧
无需下载 立即使用

你可能喜欢

问答题

要开辟P1,P2,P3,P4内存来做缓冲,大小自定,但这四个缓冲的大小要一样,并且是连续的!

参考答案:

代码如下:

问答题

用<<,>>,|,&实现一个WORD(2个字节)的高低位交换!!

参考答案:(w >> 8) | (w << 8),要求w是无符号的。

问答题

字符指针、浮点数指针、以及函数指针这三种类型的变量哪个占用的内存最大?为什么?  
类ClassB从ClassA派生,那么ClassA *a = new ClassB(„); 试问该表达是否合法?为什么? 
如果ClassA中定义并实现虚函数int func(void),ClassB中也实现该函数,那么上述变量a->func()将调用哪个类里面的函数?如果int func(void)不是虚函数,情况又如何?为什么? 

参考答案:所有指针占的空间都一样,通常等于机器的字长。因为它们并不直接存放数据,而是存放一个数据存放地点的地址码,无论放什么数据,...

问答题


会输出123吗?123创建在堆上还是栈上呢?123的空间是什么时候释放的?

参考答案:会输出123。123既不在堆上,也不栈上,它是在正文段(即与程序的代码同一段),它的空间是静态空间,程序执行完后,与整个...

问答题

说出结果:

参考答案:

b=3

问答题

说出结果:

参考答案:

m=1

问答题

假设现有一个单向的链表,但是只知道只有一个指向该节点的指针p,并且假设这个节点不是尾节点,试编程实现删除此节点.

参考答案:O(1)的办法:用p指向的节点的下一节点的值替换p指向的节点的值,然后删除p指向的节点的下一节点。

问答题

Consider the following code:

参考答案:"AAAA"字符串实际上占了5个字节(最后有一个\0),因此strcpy到buf时引起了溢出。在x86环境下,溢出的结果...

问答题

完成字符串拷贝可以使用 sprintf、strcpy 及 memcpy 函数,请问这些函数有什么区别,你喜欢使用哪个,为什么?

参考答案:sprintf主要用于格式化,strcpy是真正为字符串拷贝准备的,memcpy需要你给出字符串长度。如果只是为了字符串...

问答题

一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? 在子类的空间里,有没有父类的这个函数,或者父类的私有变量?

参考答案:可以,只要函数中的形参类型一致就行,返回值类型可以不一样。
赞题库

赞题库-搜题找答案

(已有500万+用户使用)


  • 历年真题

  • 章节练习

  • 每日一练

  • 高频考题

  • 错题收藏

  • 在线模考

  • 提分密卷

  • 模拟试题

无需下载 立即使用

版权所有©考试资料网(ppkao.com)All Rights Reserved